diff options
author | paszczi <paszczi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-01-02 11:24:34 +0000 |
---|---|---|
committer | paszczi <paszczi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-01-02 11:24:34 +0000 |
commit | 9639ca338ace7d48b2a07a21e63b4a2773ca4d5c (patch) | |
tree | 82bf9dcae07c040cb94000837c799e42c4176b21 | |
parent | a49976dee34a41549b3429b49ad6f3e1899ba830 (diff) | |
download | mpv-9639ca338ace7d48b2a07a21e63b4a2773ca4d5c.tar.bz2 mpv-9639ca338ace7d48b2a07a21e63b4a2773ca4d5c.tar.xz |
initial translation prepared by Frogu <l_j_p@wp.pl>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11722 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | DOCS/xml/pl/video.xml | 2470 |
1 files changed, 2470 insertions, 0 deletions
diff --git a/DOCS/xml/pl/video.xml b/DOCS/xml/pl/video.xml new file mode 100644 index 0000000000..f9b589fa24 --- /dev/null +++ b/DOCS/xml/pl/video.xml @@ -0,0 +1,2470 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- synced with 1.43 --> +<sect2 id="video-dev"> +<title>Urządzenia wyjścia video</title> + +<sect3 id="mtrr"> +<title>Ustawianie MTRR</title> + +<para> +Jest WYSOCE wskazane, aby sprawdzić, 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 szestnastkowy, 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 już stepping 12 tak. +(<command>cat /proc/cpuinfo </command> aby sprawdzić). +</para> +</sect3> + +<sect3 id="output-trad"> +<title>Wyjścia video dla tradycyjnych kart graficznych</title> +<sect4 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 mają) + </para></listitem> +<listitem><para> +X ładuje rozszerzenie XVideo, zwykle wygląda to tak: + <programlisting>(II) Loading extension XVideo</programlisting> + w logu <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 zbudowana obsługa Xv to powinna się pojawić podobna linia: + <screen> + xv X11/Xv<!-- + --></screen> +</para></listitem> +</orderedlist> +</para> + +<sect5 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 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> +</sect5> + +<sect5 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> + +<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 grupie dyskusyjnej mplayer-users +</para> +</note> +</sect5> + + +<sect5 id="nvidia"> +<title>Karty nVidia</title> + +<para> +nVidia nie zawsze jest dobrym wyborem dla Linuksa (wg nVidii to +<link linkend="nvidia-opinions">nieprawda</link>)... +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</link>. +</para> +</sect5> + + +<sect5 id="ati"> +<title>Karty ATI</title> + +<para> +<ulink url="http://www.linuxvideo.org/gatos">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 (pionową) 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> +</sect5> + + +<sect5 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> +</sect5> + + +<sect5 id="trident"> +<title>Karty Trident</title> +<para> +Jeżeli chcesz używać Xv z kartą trident (zakładając, że 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> + + +</sect5> + + +<sect5 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> +</sect5> +</sect4> + +<!-- ********** --> + +<sect4 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 środkiem dla programu +na ominięcie X serwera 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. +Jest to dozwolone tylko i wyłącznie 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 X serwer 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 X serwerze) +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 roota, 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 SUID root +<application>MPlayer</application>. +</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: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 X serwer 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" (linie trybów) i zależą od możliwości +Twojego sprzętu. +X serwer 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ź: +<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ł X serwera): +</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że go używać sterownik SDL (<option>-vo sdl: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 linii poleceń. +Standardowym zachowaniem jest zmiana rozdzielczości na jak najbardziej +pasującą do obrazu. +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 oszczędza jeden cykl procesora, +który byłby wykorzystany 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 poza-ekranowej +(offscreen memory) aby zmieścił się tam cały obraz, +sterownik DGA użyje podwójnego buforowania (doublebuffering). +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 poza-ekranowej 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 jest używane dodatkowe 20% czasu procesora!) +w zależności od implementacji DGA dla Twojego sprzętu. +</para> + + +<formalpara> +<title>SPRAWA 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 ostrożnie interpretować. +Na przykład przy korzystaniu ze sterownika X11 nie jest uwzględniany czas +potrzebny dla X serwera 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 X serwera. +</para> + +<para> +Jeżeli masz wolny system, lepiej używaj 15 lub 16 bitowej +głębi kolorów 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 jeżeli +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><simpara> +Istnieje błąd związany z XFree 4.0.3 i sterownikiem <filename>nv.o</filename> +objawiający się dziwnymi kolorami +</simpara></listitem> +<listitem><simpara> +Sterowniki ATI wymagają wielokrotnego przełączania trybu po użyciu DGA. + </simpara></listitem> +<listitem><simpara> +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). + </simpara></listitem> +<listitem><simpara> +Niektóre sterowniki wyświetlają dziwne kolory. + </simpara></listitem> +<listitem><simpara> +Niektóre sterowniki kłamią na temat rozmiaru pamięci, +którą mapują na przestrzeń adresową procesu. +Poprzez to vo_dga nie będzie używać podwójnego buforowania (SIS?). + </simpara></listitem> +<listitem><simpara> +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). + </simpara></listitem> +<listitem><simpara> +OSD działa tylko z włączonym podwójnym buforowaniem (w przeciwnym razie migocze). + </simpara></listitem> +</itemizedlist> + +</sect4> +<!--</sect3>--> + +<!-- ********** --> + +<sect4 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 Doom'a 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> + +<variablelist> +<title>Istnieje wiele opcji wiersza poleceń dla SDL</title> +<varlistentry> + <term><option>-vo sdl:<replaceable>nazwa</replaceable></option></term> + <listitem><simpara> + określa sterownik video którego ma użyć SDL (np. <literal>aalib</literal>, + <literal>dga</literal>, <literal>x11</literal>) + </simpara></listitem> +</varlistentry> +<varlistentry> + <term><option>-ao sdl:<replaceable>nazwa</replaceable></option></term> + <listitem><simpara> + określa sterownik audio którego ma użyć SDL (np. <literal>dsp</literal>, + <literal>esd</literal>, <literal>arts</literal>) + </simpara></listitem> +</varlistentry> +<varlistentry> + <term><option>-noxv</option></term> + <listitem><simpara> + wyłącza sprzętowe przyśpieszanie XVideo + </simpara></listitem> +</varlistentry> +<varlistentry> + <term><option>-forcexv</option></term> + <listitem><simpara> + próbuje wymusić przyśpieszanie XVideo + </simpara></listitem> +</varlistentry> +</variablelist> + +<table> +<title>Klawiszologia tylko dla SDL</title> +<tgroup cols="2"> +<thead> +<row><entry>Klawisz</entry><entry>Akcja</entry></row> +</thead> +<tbody> +<row><entry><keycap>c</keycap></entry><entry> + poruszanie się pomiędzy dostępnymi trybami pełnoekranowymi + </entry></row> +<row><entry><keycap>n</keycap></entry><entry> + powraca do normalnego trybu + </entry></row> +</tbody> +</tgroup> +</table> + +<itemizedlist> +<title>Znane błędy:</title> +<listitem><simpara> + Klawisze wciśnięte pod konsolowym sterownikiem sdl:aalib są powtarzane + w nieskończoność. (użyj <option>-vo aa</option>!). + To jest błąd w SDL. Nie mam na to wpływu (testowane z SDL 1.2.1). + </simpara></listitem> +<listitem><simpara> + NIE UŻYWAJ SDL z GUI (Graficznym Interfejsem Użytkownika)! + Nie będzie to działało tak jak powinno. + </simpara></listitem> +</itemizedlist> +</sect4> + + +<sect4 id="svgalib"> +<title>SVGAlib</title> + +<formalpara> +<title>INSTALACJA</title> +<para> +Będziesz musiał zainstalować pakiety svgalib i svgalib-devel, 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 poniekąd 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żywalne jest to w następujących zestawieniach: +</para> +</formalpara> + +<itemizedlist> +<listitem><simpara> + karta EGA z monitorem EGA: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp + </simpara></listitem> +<listitem><simpara> + karta EGA z monitorem CGA: 320x200x4bpp, 640x200x4bpp + </simpara></listitem> +</itemizedlist> + +<para> +bpp (bity na piksel) musi być ustawione na 4 ręcznie: <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ąć potrzebujemy sięgnąć po szybką, lecz złej jakości metodę skalowania: +<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 wyłączyć tylko przy pomocy filtru +<option>expand</option>. Dokładne parametry znajdziesz na stronie man. +</para> +</sect4> + + +<sect4 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><simpara> + Określa urządzanie bufora ramki, którego użyć (<filename>/dev/fb0</filename>) + </simpara></listitem> +</varlistentry> +<varlistentry> + <term><option>-fbmode</option></term> + <listitem><simpara> + Nazwa trybu do użycia (zgodnie z <filename>/etc/fb.modes</filename>) + </simpara></listitem> +</varlistentry> +<varlistentry> + <term><option>-fbmodeconfig</option></term> + <listitem><simpara> + Plik konfiguracyjny trybów (standardowo <filename>/etc/fb.modes</filename>) + </simpara></listitem> +</varlistentry> +<varlistentry> + <term><option>-monitor-hfreq</option></term> + <term><option>-monitor-vfreq</option></term> + <term><option>-monitor-dotclock</option></term> + <listitem><simpara> + <emphasis role="bold">ważne</emphasis> wartości, patrz + <filename>example.conf</filename> + </simpara></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żliwe, że chcesz 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 w +<application>MPlayerze</application>. +</para> +</note> +</sect4> + + +<sect4 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 sterowniku mga_vid w jądrze. +Jest on aktywnie rozwijany przez A'rpiego i +ma 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 +<link linkend="vidix">VIDIX</link> zamiast tego! +</para> +</warning> + +<procedure> +<title>Instalacja</title> +<step><par |