2.3.1 Urządzenia wyjścia Wideo

2.3.1.1 Ustawianie MTRR

Jest bardzo sugerowane, by sprawdzić, czy rejestry MTRR są ustawione właściwie, gdyż mogą one dużo zwiększyć wydajność.

Wykonaj 'cat /proc/mtrr':

--($:~)-- cat /proc/mtrr
reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9
reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1

To prawda, pokazuje mojego Matrox G400 z 16Mb pamięci. Wykonałem to z XFree 4.x.x , z ustawionymi automatycznie rejestrami MTRR.

Jeśli nic nie działa, powinienieś wykonać to ręcznie. Najpierw musisz odnaleść adres bazowy. Możesz to zrobić na 3 sposoby:

Następnie wyszukaj rozmiar pamięci. Jest to bardzo łatwe, wystarczy, że przekonwertujesz rozmiar pamięci wideo do liczby heksadecymalnej, lub po prostu użyjesz poniższej tabeli:

  1 MB0x100000
2 MB0x200000
4 MB0x400000
8 MB0x800000
16 MB0x1000000
32 MB0x2000000

Znasz już adres bazowy i rozmiar pamięci, więc zabierz się do ustawień! Na przykład, dla powyższej karty Matrox (bazowy=0xd8000000) z 32MB ramu (rozmiar=0x2000000) wystarczy, że uruchomisz:

  echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr

Nie wszystkie procesory wspierają MTRRy. Na przykład starsze K6-2 [około 266Mhz, stepping 0] nie wspierają MTRR, ale stepping 12 już tak ('cat /proc/cpuinfo' by to sprawdzić').

2.3.1.2 Wyjścia wideo dla tradycyjnych kary graficznych

2.3.1.2.1 Xv

Pod XFree86 4.0.2, lub nowszymi, możesz używać sprzętowej procedury YUV twojej karty używając rozszerzenia XVideo. Używa tego opcja '-vo xv'. Także sterownik ten wspiera modyfikowanie jasności/kontrastu/hue/itp (chyba, że używasz starego, wolnego kodeka DirectShow DivX, który wspiera to wszędzie), zobacz stronę manuala.

Żeby wykonać tą czynność, powinienieś sprawdzić następujące rzeczy:

2.3.1.2.1.1 Karty 3dfx

Starsze karty 3dfx znane były z problemów z akceleracją XVideo, nie wspierały obydwu YUY2 lub YV12. Sprawdź, czy posiadasz XFree86 w wersjii 4.2.0 lub nowszej, które pracują dobrze z YV12 i YUY2. Poprzednie wersje, włączając 4.1.0 wywalały się przy YV12! Jeśli twoje doznania dają dziwne efekty przy użytku -vo xv, spróbuj SDL (posiada także XVideo) i zobacz, jeśli pomaga. Sprawdź sekcję SDLpo szczegóły.

LUB, wypróbuj nowego sterownika -vo tdfxfb! Zobacz sekcję tdfxfb.

2.3.1.2.1.2 Karty S3

S3 Savage3D powinny pracować dobrze, ale dla Savage4, użyj XFree86 w wersji 4.0.3 lub nowszej (w przypadku problemów z obrazem spróbuj 16bpp). Również dla S3 Virge... istnieje wsparcie dla xv, lecz karta sama w sobie jest bardzo wolna, lepiej będzie więc jak ją sprzedaż.

INFORMACJA: nie jest obecnie jasne, które modele Savage nie posiadają wsparcia YV12 i konwertacji przez sterownik (wolne). Jeśli podejrzeważ o to twoją kartę, pobierz najnowsze sterowniki lub uprzejmie spytaj na liście mailingowej mplayer-users o sterownik włączający MMX/3DNow.

2.3.1.2.1.3 Karty nVidia

nVidia nie jest najlepszym wyborem dla Linuksa (według NVidii, nie jest to prawdą).. Będziesz potrzebował binarnych, zamkniętych (bez kodu źródłowego) sterowników nVidia, dostępnych na stronie nVidii. Standardowe sterowniki XFree86 nie wspierają XVideo dla tych kard, należnych do zamkniętego kodu/specyfikacji nVidii.

O ile wiem ostatnie sterowniki XFree86 zawierają wsparcie XVideo dla Geforce 2 i 3.

Karty Riva128 nie posiadają wsparcia XVideo również ze sterownikami nvidia :( Skargi do NVidii.

2.3.1.2.1.4 Karty ATI

2.3.1.2.1.5 Karty NeoMagic

Karty te mogą być znalezione w dużej ilości laptopów. Niestety sterowniki w X 4.2.0 nie potrafią wykonać Xv, ale mamy dla ciebie zmodyfikowane sterowniki zdolne do Xv. Ściągnij stąd. Sterownik dostarczony został przez Stefana Seyfrieda.

By udostępnić odtwarzanie DVD zadowalająco, zmień XF86Config tak jak niżej:

Section "Device"
    [...]
    Driver "neomagic"
    Option "OverlayMem" "829440"
    [...]
EndSection

2.3.1.2.1.6 Karty Trident

Jeśli chcesz używać Xv z kartą Trident, bądź pewnien, że nie pracuje ona z 4.1.0, zainstaluj XFree 4.2.0. W 4.2.0 dodano wsparcie dla pełnoekranowego xv wspieranego przez kartę Cyberblade XP.

2.3.1.2.1.7 Karty Kyro/PowerVR

Jeśli chcesz używać Xv z kartami bazyjącymi na Kyro (na przykład Hercules Prophet 4000XT), powninieneś pobrać sterowniki ze strony PowerVR.

2.3.1.2.2 DGA

WSTĘP

Dokumant ten ma na celu wyjaśnić w kilku słowach, czym jest ogólnie DGA i co sterowniki wyjścia wideo DGA mogą zrobić dla mplayera (i czego nie mogą).

CZYM JEST DGA

DGA jest skrótem od Direct Graphics Access (bezpośredni dostęp graficzny) i oznacza to dla programu obejście X-Serwera i bezpośrednią modyfikację pamięci framebuffera. Technicznie rzecz mówiąc, dzieje się to przez mapowanie pamięci framebuffera w zakresie pamięci twojego procesu. Zezwalane jest to przez jądro tylko jeśli posiadasz uprawnienia superużytkownika. Możesz je otrzymać przez zalogowanie się jako roota, albo ustawiając bit suida na pliku wykonalnym mplayera (nie sugerowane).

Istnieją dwie wersje DGA: DGA1 używane jest przez XFree 3.x.x i DGA2 wprowadzone z 4.0.1.

DGA1 dostarcza tylo bezpośredni dostęp framebuffera, jak opisano wyżej. By przełączać rozdzielczość sygnału wideo, musisz polegać na rozszerzeniu VidMode.

DGA2 łączy cechy rozszerzenia XVidMode, a także zezwala na przełączanie głębi wyświetlania. Możesz więc, choć podstawowo uruchamiasz XSerwer w głębi 32-bitowej, przełączyć do głębi 15-bitowej i na odwrót.

DGA posiada jednak pewne wady. Jak widac jest trochę zależny od chipu graficznego, jakiego używasz i od implementacji sterowników wideo XServera, które sterują chipem. Więc nie działa on na wszystkich systemach

INSTALACJA WSPARCIA DGA DLA MPLAYERA

Najpierw sprawdź, czy rozszerzenie DGA zostało załadowane przez serwer X, zajrzyj do /var/log/XFree86.0.log:

    (II) Loading extension XFree86-DGA

Spójrz, XFree86 4.0.x lub wyższe jest BARDZO REKOMENDOWANE! Sterownik DGA MPlayera automatycznie wykrywana przez ./configure, ale możesz wymysić go przez --enable-dga

Jeśli sterownik nie może przełączyć do mniejszej rozdzielczości, eksperymantuj z przełączaniem -vm (tylko z X 3.3.x), -fs, -bpp, -zoom, by znaleść tryb wideo, który zgadza się z filmem. Nie ma obecnie prawidłowego konwertera :(

Zostań ROOTEM. DGA wymaga dostępu roota, by móc zapisywać bezpośrednio do pamięci. Jeśli zamierzasz uruchamiać go jako użytkownik, zainstaluj MPlayera z SUID roota:

    chown root /usr/local/bin/mplayer
    chmod 750 /usr/local/bin/mplayer
    chmod +s /usr/local/bin/mplayer

Teraz będzie także pracował jako zwykły użytkownik.

Ostrzeżenie: ryzyko bezpieczeństwa
Jest to duże ryzyko bezpieczeństwa! Nigdy nie rób tego na serwerach, lub komputerach, które są dostępne dla więcej ludzi niż tylko ciebie, ponieważ mogą oni zdobyć prawa roota poprzez suida mplayera.

Teraz użyj opcji -vo dga i już (mam nadzieję :))! Powinieneś spróbować także opcji -vo sdl:dga. Jest trochę szybsza.

PRZEŁĄCZANIE ROZDZIELCZOŚCI

Sterowniki DGA pozwalają na przełączenia rozdzielczości sygnału wyjściowego. Unikają one wykonywania (wolnego) skalowania sprzętowego i w tym samym czasie zapewniają pełnoekranowy obraz. Idealne wyjście, jeśli chciałeś przełączyć do ścisłej rozdzielczości (wykluczając zaszczytny stosynek) danych wideo, ale XSerwer zezwala tylko na przełączanie do zdefiniowanych wcześniej rozdzielczości w /etc/X11/XF86Config (/etc/X11/XF86Config-4 odnośnie XFree 4.0.X).

Tamte zdefiniowane są przez tak zwane linie trybów i zależne są od zdolności twojego sprzętu wideo. Serwer X skanuje ten plik konfiguracyjny podczas startu, i wyłącza linie trybów nieodpowiednie dla towjego sprzętu. Możesz sprawdzić, które tryby znajdują się w logach X11. Znajdziesz je w: /var/log/XFree86.0.log.

Wpisy te znane są z poprawnej pracy z chipem Riva128 chip, używającego modułów X serwera nv.o.

  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

DGA & MPLAYER

DGA jest używany w dwóch miejscach w MPlayerze: Sterowniki SDL mogą być użyte przez niego (-vo sdl:dga) w wewnątrz sterownika DGA (-vo dga). Rzeczy, które powiedziałem wyżej są zarówno prawdą; w następującej sekcji wyjaśnię Jak sterownik DGA pracuje z MPlayerem.

CECHY

Serownik DGA wywoływany jest przez określenie -vo dga z lini poleceń. Standardowe zachowanie przełącza do rozdzielczości zestawiając oryginalną rozdzielczość wideo najbliższą z możliwych. Rozmyślnie ignoruje przełączanie -vm i -fs (włączając przełączanie trybów wideo i pełny ekran) - zawsze próbuje pokryć tyle obszaru twojego ekranu, jak to możliwe, poprzez przełączanie trybu wideo, w ten sposób powstrzymuje użycie pojedynczego okresu twojego CPU do skalowania obrazu. Jeżeli nie lubisz trybu, jego wybór możesz wymysić przez określenie -x i -y. Dostarczaną przez opcję -v, sterownik DGA wyświetli, spośród wielu innych rzeczy, listę wszystkich wspieranych rozdzielczości przez twój obecny plik konfiguracyjny XF86-Config. Posiadając DGA2 możesz także wymusić użycie określonej głębi, używając do tego opcji -bpp. Poprawne głębie to 15, 16, 24 i 32. Zależy od twojego sprzętu, czy są one wspierane lub czy (możliwe, że wolne) konwersja została wykonana.

Jeśli jesteś na tyle szczęściażem, że posiadasz dosyć miejsca, by umieścić cały obraz, sterownik DGA użyje podwójnego buforowania, który daje bardziej wygładzone odtwarzanie filmu. Zostaniesz poinformowany, czy podówjne buforowanie jest włączone, czy też nie.

Podówjne buforowanie oznacza, że kiedy następna klatka twojego wideo jest przetwarzana gdzieś w pamięci, obecna klatka jest wyświatlana. Kidy następna klatka jest gotowa chip graficzny trzyma tylko miejsce w pamięci nowej klatki i po prostu dane przechodzą do wyświetlenia stamtąd. W tym czasie inny bufor w pamięci zostanie zajęty ponownie nowymi danymi wideo.

Podówjne buforowanie może zostać włączone porzez użycie opcji -double i wyłączone przez -nodouble. Obecnie domyślna opcja wyłącza podówjne buforowanie. Kiedy jest używany sterownik DGA, wyświatlanie na ekranie (ang. on screen display (OSD)) pracuje tytlko przy włączonym podówjnym buforowaniu. Jednak włączenie podówjnego buforowania może odbić się na spadku prędkości (na moim K6-II+ 525 używał dodatkowo 20% czasu CPU!) w zależności od implementacji DGA dla twojego sprzętu.

WYNIKI PRĘDKOŚCI

Ogólnie powiedziawszy, dostęp bufora klatki DGA powinno być przynajmniej szybkie używając starownika X11 w dodatku z korzyścią otrzymywaniu pełnoekranowego obrazu. Procentopwa wartość prędkości wyświatlana przez MPlayera, powinna być traktowana z ostrożnością, bo na przykład ze sterownikiem X11 nie zawierają one czasu użytego przez Serwer X wymagany do aktualnego przetwarzania. Sprawdź więc co dzieje się na twoim komputerze.

Ogólnie rzecz biorąc, osiągnięte przyśpieszenie poprzez użycie DGA wbrew 'normalnego' użycia X11, wysoko zależne jest do twojej karty graficznej oraz jak dobrze zoptymalizowane są moduły X-Serwera.

Używanie głębi 24 bitowej jest równie dobrym pomysłem jeśli twoje karta własnoręcznie ubsługuje 32 bitową głębię, ponieważ odstępuje ona 25% mniej danych w porównaniu do trybu 32/32.

Widziałem niektóre pliki avi odtwarzane już na Pentium MMX 266. Procesory AMD K6-2 mogły by pracować na 400 MHZ i wyższych.

ZNANE BŁĘDY

Jak przyznają niektórzy deweloperzy XFree, DGA jest jak nieokiełznana bestia. Mówią, że lepiej go nie używać. Jego implementacja nie zawsze jest idealna ze wszystkimi sterownikami dla XFree.

2.3.1.2.3 SDL

SDL (Simple Directmedia Layer) jest głownie interfejsem wideo/audio. Programy wykorzystujące go wiedzą tylko o SDLu, i nic z których sterownikach audio lub wideo aktulanlnie korzysta. Na przykład port Dooma używający SDL potrafi wystartować na svgalib, aalib, X, fbdev, i innych, musisz tylko mieć określone (na przykład) sterowniki wideo używane ze środowiskiem SDL_VIDEODRIVER. No to na tyle teorii

Z MPlayerem używamy sterowników X11 ze zdolnością sprzętowego skalowania dla kart/sterowników, które nie wspierają XVideo, aż stworzymy nasz własny (szybszy, wygodniejszy) skalownik sprzętowy. Także używamy jego wyjścia aalib, ale teraz posiadamy własny, który jest wygodniejszy. Jego tryb DGA był lepszy od maszego, do niedawna. Pobrać go natychmiast? :)

Pomaga także z niektórymi dziurawymi starownikami/kartami jeśli wideo jest skokowe (nie chodzi o problem z wolnym systemem), lub jeśli audio się opuźnia.

Wyjścia wideo SDL wspiera wyświetlanie napisów pod filmem, na czarnym pasku (jeśli ten występuje).

Istnieją różne opcje linii poleceń dla SDLa:

-vo sdl:name
określa, który sterownik wideo sdl użyć (tj. aalib, dga, x11)
-ao sdl:name
określa, który sterownik audio sdl użyć(ie. dsp, esd, arts)
-noxv
wyłącza sprzętową akcelerację Xvideo
-forcexv
próbuje wymusić akcelerację Xvideo

Klucze SDL:

Fprzełącza w tryb pełnoekranowy/okna
Cobraca dostępnymi trybami pełnegoekranowymi
W/Smapowanie dla * i / (kontrola miksera)

ZNANE BŁĘDY

2.3.1.2.4 SVGAlib

INSTALACJA

Oczywiście będziesz musiał zainstalować svgalib i jego pakiety, żeby MPlayer zbudował jego sterownik SVGAlib (automatycznie wykryty, ale może być wymuszony), i nie zapomnij wyedytować /etc/vga/libvga.config w dostosowaniu do twojej karty & monitora.

INFORMACJE

Pamiętaj, żeby nie używać przełączenia -fs, odkąd przerzuca ono wywołanie sprzętowego skalera i jest obecnie wolne. Jeśli naprawdę tego potrzebujesz użyj opcji -sws 4, która powoduje pogorszenie jakości, jednak jest poniekąd szybsza.

WSPARCIE EGA (4BPP)

SVGAlib załącza EGAlib, a MPlayer posiada możliwość wyświetlania różnych filmów w 16 kolorach, tak jest zdalny do użytku w następujących ustawieniach:

Bpp (bits per pixel - ilość bitów na piksel) wartość musi być ustawiona ręcznie na 4:
  -bpp 4
Film prawdopodobnie będzie trzeba zmniejszyć, by dopasować się do trybu:
  -vf scale=640:350 lub
  -vf scale=320:200
Do tego potrzebujemy szybkiego, ale w kiepskiej jakośći skalowania:
  -sws 4
Może automatyczną korękcję stosunku potrzeba wyłączyć:
  -noaspect

INFORMACJA: według moich eksperymantów, najlepasza jakość obrazu na ekranach EGA można osiągnąć poprzez średnie obniżenie jasności: -vf eq=-20:0. Często wymaga to także niskiego próbkowania audio na moim sprzęcie, ponieważ dźwięk popsuł się na 44kHz: -srate 22050.

Możesz włączyć OSD i napisy tylko z filtrem expand, zajrzyj do manuala, po dokładne parametry.

2.3.1.2.5 Wyjście Framebuffera (FBdev)

Czy do zbudowania obiektu FBdev jest on automatycznie wykryty podczas ./configure. Czytaj dokomentację framebuffera w źródłach jądra (Documentation/fb/*) dla informacji.

Jeśli twoja karta nie wspiera standardu VBE 2.0 (starsze karty ISA/PCI, takie jak S3 Trio64), tylko VBE 1.2 (lub starszy?) : Więc, VESAfb pozostaje dostępnym, ale potrzebujesz załadować SciTech Display Doctor (wcześniej UniVBE) przed butowaniem Linuksa. Użyj dyskietek butujących DOSa lub czegokolwiek innego. I nie zapomnij zarejestrować swojego UniVBE ;))

Wyjście FBdev przyjmuje niektóre dodatkowe parametry ponad inne:

-fb
określ, które urządzienie framebuffer ma zostać użyte(/dev/fb0)
-fbmode
nazwa trybu, który ma być użyty (zgodnie z /etc/fb.modes)
-fbmodeconfig
plik konfiguracyjny trybów (domyślnie /etc/fb.modes)
-monitor_hfreq
-monitor_vfreq
-monitor_dotclock
Ważne wartości, zajrzyj do example.conf

Jeśli zamierzasz ustawić określony tryb, użyj

    mplayer -vm -fbmode (NazwaTrybu) nazwa_pliku

INFORMACJA: przełączanie trybów wideo FBdev _nie współpracuje_ z framebuffer VESA, i nie pytaj o niego, odkiedy nie jest to ograniczenie MPlayera.

2.3.1.2.6 Framebuffer Matroksa (mga_vid)

Sekcja ta jest odnośnie wsparcia Mtrox G200/G400/G450/G550 BES (Back-End Scaler) sterowników jądra mga_vid. Jest one czynnie rozwijane przeze mnie (A'rpi), i posiada ono wsparcie sprzętowe VSYNC z potrójnym buforowaniem. Działa zarówno w konsoli z framebufferem i pod X.

INFORMACJA: Jest tak tylko na Linuksie! Na systemach nie-linuksowych (testowane na FreeBSD), możesz użyć wzamian VIDIX!

Instalacja:

  1. Aby ich używać, musisz najpierw skompilować mga_vid.o:

    cd drivers
    make

  2. Następnie stwórz urządzenie /dev/mga_vid:

    mknod /dev/mga_vid c 178 0

    i załaduj muduły za pomocą

    insmod mga_vid.o

  3. Powinienieś zweryfikowac detekcję wielkości pamięci, używając polecenia dmesg. Jeśli jest błędna użyj opcji mga_ram_size (najpierw rmmod mga_vid), by określić rozmiar pamięci w MB:

    insmod mga_vid.o mga_ram_size=16

  4. Aby utworzyć go automatycznie ładowanym/wyładowywanym kiedy potrzebujesz, najpierw dodaj następującą linię na końcu /etc/modules.conf:

    alias char-major-178 mga_vid

    Następnie skopiuj moduł mga_vid.o do odpowiedniego miejsca w /lib/modules/<wersja jądra>/coś.

    I uruchom

    depmod -a

  5. Teraz musisz (prze)kompilować MPlayera, configure wykryje /dev/mga_vid i zbuduje sterowniki 'mga'. Wykorzystuje się je w MPlayerze przez -vo mga, jeśli posiadasz konsolę matroxfb, lub -vo xmga pod XFree86 3.x.x, albo 4.x.x.

Współpraca sterowników mga_vid z Xv.

Plik urządzenia /dev/mga_vid może być czytany (np.: przez cat /dev/mga_vid) dla jakiś informacji i zapisany dla zmiany jasności: echo "brightness=120" > /dev/mga_vid

2.3.1.2.7 Wsparcie 3dfx YUV (tdfxfb)

Sterownik ten używa urządzenia framebuffer starownika jądra tdfx, by odtwarzać filmy z akceleracją YUV. Będziesz potrzebował jądra ze wsparciem tdfxfb, i rekompilacji z ./configure --enable-tdfxfb

2.3.1.2.8 Wyjście OpenGL

MPlayer wspiera wyświetlanie filmów, używając do tego OpenGL lecz jeśli twoja platforma/sterownik wspiera xv jak powinienno być na PeCecie z Linuksem, użyj zamiast tego xv, OpenGL jest znacząco gorszy. Jeśli posiadasz implemantację X11 bez wsparcia xv, OpenGL jest możliwą alternatywą.

Niestety nie wszystkie sterowniki zapewniają tę cechę. Sterowniki Utah-GLX (dla XFree86 3.3.6) wspierają ją dla wszystkich kart. Odwiedź http://utah-glx.sourceforge.net po detale i informację jak je instalować.

XFree86(DRI) 4.0.3 lub późniejsze wspierają OpenGL z kartami Matrox i Radeon, 4.2.0 lub późniejsze wspierają Rage128. Zajrzyj na http://dri.sourceforge.net, pobrać i zapoznać się z instrukcją instalacji.

2.3.1.2.9 AAlib - wyświatlanie w trybnie tekstowtym

AAlib jest biblioteką do wyświetlania grafiki w trybie tekstowym, używając pełnej renderacji ASCII. Istnieje wiele programów, które to wspierają, tak jak np. Doom, Quake, itp. MPlayer zawiera dla niego bardzo wygodny sterownik. Jeśli ./configure wykrywa zainstalowane aalib, sterownik aalib libvo zostanie zbudowany.

Możesz użyć różnych kluczy w oknie AA, by zmienać opcje renderowania:

  1  zmniejsz kontrast
2zwiększ kontrast
3zmniejsz jasność
4zwiększ jasność
5włącz/wyłącz szybsze renderowanie
6ustaw tryb rozpraszania (none, error distribution, floyd steinberg)
7odwróc obraz
aprzełącz między kontrolą aa i MPlayera)

Możesz użyć następujących opcji linii poleceń::

-aaosdcolor=V
zmień kolor OSD
-aasubcolor=V
zmień kolor napisów

gdzie V może być: (0/narmalny, 1/czarny, 2/pogrubione, 3/gruba czcionka, 4/odwrotny, 5/specialny)

AAlib samo w sobie dostarcza ogromną liczbę opcjii. Niżej znajdują się najważniejsze:

-aadriver
ustaw sugerowany sterownik aa (X11, curses, linux)
-aaextended
użyj wszystkich 256 znaków
-aaeight
użyj 8-bitowego ASCII
-aahelp
wyświetl wszytskie opcje aalib

INFORMACJA: renderowanie bardzo intensywnie obciąza CPU, w szczególności kiedy używa AA-on-X (aalib na X), i najmniej obciąza CPU na standardowej konsoli bez framebuffera. Uzyj SVGATextMode, by ustawić duży tryb tekstowy, a następnie ciesz się! (dodatkowa głowica kard Hercules :)) (ale w moiej skromniej opinii, możesz użyć opcji -vf 1bpp, by otrzymać grafikę na hgafb:)

Użyj opcji -framedrop, jeśli twój komputer nie posiada wystarczającej prędkości do renderowania wszystkich klatek!

Odtwarzając w terminalu, otrzymasz lepszą prędkość i jakość, używając sterowników linuksa, nie curses (-aadriver linux). Ale dlatego potrzebujesz praw zapisu do /dev/vcsa<terminal>. Nie jest one automatycznie wykrywane przez aalib, ale vo_aa próbuje znaleść najlepszy tryb. Zobacz http://aa-project.sourceforge.net/tune/, by wspomódz wyniki tuningu.

2.3.1.2.10 VESA - wyjście na VESA BIOS

Sterownik ten został zaprojektowany i wprowadzony jako ogólny sterownik dla kard, które mają BIOS kompatybilny z VESA VBE 2.0+. Inną zaletą tego sterownika, jest to, że próbuje on wymusić wyjście TV.
VESA BIOS EXTENSION (VBE) Version 3.0 Data: 16 wrzesień, 1998 (Strona 70) mówi:

Projekty Dual-Controller
VBE 3.0 wspiera projekt dual-controller przypuszczając, że poniważ obydwa kontrolery są typowo zapewniane przez ten sam OEM, pod kontrolą pojedynczego na tych samych kartach graficznych. jest możliwe ukrycie faktu, że dwa kontrolery rzeczywiście są prezentowane z aplikacji. Posiada to ograniczenia w powstrzymywaniu równoczesnym użyciu niezależnych kontrolerów, ale pozwala zwolnionym aplikacjom przed VBE 3.0 by działać normalnie. Funkcja VBE Function 00h (Powrót Informacji Kontrolera) zwraca połączone informacje obydwu kontrolerów, włączając połączone listy dostępnych trybów. Kiedy aplikacja wybiera tryb, właściwy kontroler jest aktywowany. Każda z pozostawia funkcii VBE, później działa na aktywnym kontrolerze.

Więc masz szansę na pracę na wyjściu TV dzięku użyciu tego sterownika.
(Przypuszczam, że wyjście TV-out często jest niezależnym nagłówiem lub przynajmniej niezależnym wyjściem.)

ZALETY

WADY

Nie używaj tych sterowników z GCC 2.96! Nie chcą działać!

OPCJE LINII POLECEŃ DOSTĘPNE DLA VESA

-vo vesa:opts
obecnie rozpoznane: dga, by wymusić tryb dga i nodga, by wyłączuć tryb dga. W trybie dga możesz włączyć podwójne buforowanie przez opcję -double. Informacja: możesz pominąć te paramerty włączając autodetekcję trybu dga.

ZNANE BŁĄĘDY

2.3.1.2.11 X11

Jęśli jest to możliwe to unikaj go. Wyjście na X11 (używające rozszerzenia dzielonej pamięci), jest bez żadnej akceleracji sprzętowej. Wspiera (MMX/3DNow/SSE akcelerację, ale nadal pozostaje wolne skalowanie sprzętowe, użyj opcji -fs -zoom. Wiele kart posiada wsparcie skalowania sprzętowego, użyj do tego wyjścia -vo xv lub -vo xmga dla Matroksów.

Problem jest taki, że wiele sterowników kart nie posiada wsparcia sprzętowej akceleracji na drugiej głowicy/TV. W tych przypadkach widzisz zielone/niebieskie okno zamiast filmu. Występuje to w przypadku, kiedy twoje sterowniki są poręczne, lecz wymagają silnego CPU, by użyć sprzętowe skalowanie. Nie używaj sprzętowgo wyjścia+skalowania sterowników SDL, posiadają gorszą jakość obrazu!

Sprzętowe skalowanie jest bardzo wolne, lepiej jak zamiast tego spróbujesz zmienić tryb wideo. Jest to bardzo proste. Zobacz sekcję lini trybów DGA i wstaw je do twojego XF86Config.

Jeżeli nie możesz znaleść trybów, które wstawiłeś, przejrzyj wyjście XFree86. Niektóre sterowniki nie portafią użyć niskich pixelclocków, które są wymagane do niskich trybów rozdzielczości wideo.

2.3.1.2.12 VIDIX

WSTĘP

VIDIX jest skrótem od VIDeo Interface for *niX (Interfejs wideo dla *niksów). Został zaprojektowany i wydany jako interfejs dla szybkich sterowników przestrzeni użytkownika dostarczających takie wrażenia wideo, jak mga_vid dla kart Matrox. Jest także przenośny.

Interfejs ten został zaprojektowany jako próba przystosowanaia istniejących interfejsów akceleracji wideo (znanych jako mga_vid, rage128_vid, radeon_vid, pm3_vid) do stałego schematu. Dostarcza on wysokopoziomowych interfajsów do chipów, znanych jako BES (BackEnd scalers) lub OV (Video Overlays). Nie dostarcza niskopoziompwych interfejsów do rzeczy znanych jako serwery graficzne. (Nie chcę konkurować z zespołem X11 w przełączaniu trybów graficznych). Głównym celem tego interfejsu jest zapewnianie maksymalnej prędkości odtwarzania wideo.

UŻYCIE

Rzeczywiście nie ma to znaczenia, który sterownik wyjścia jest używany przez VIDIX.

WYMAGANIA

METODY UŻYCIA

Kiedy VIDIX is używany jako podurządzenie (-vo vesa:vidix), to konfiguracja trybu wideo jest ustawiona przez urzadzenie wyjścia wideo (vo_server w skrócie). Dlatego też możesz przekazywać z linii poleceń MPlayera te same klucze, co dla vo_server. W dodatku rozumie klucze -double, jako globalnie widoczne parametry. (Proponuje używać tego klucza z VIDIX na ostatnich kartach ATI).
Jako dla -vo xvidix: obacnie uznaje następujące opcje: -fs -zoom -x -y -double.

Możesz także określić bezpośrednoi sterownik VIDIX jako trzeci podargument w linii poleceń:

  mplayer -vo xvidix:mga_vid.so -fs -zoom -double file.avi
lub
  mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 file.avi

Ale jest to niebezpieczne i nie powinienieś tego robić. W tym wypadku podany sterownik zostanie wymuszony i skutki są nieprzewidywalne (może zawiesić twój komputer). Powinieneś tak zrobić TYLKO, jeśli jesteś absolutnie pewny, że zadziała i MPlayer nie zrobi tego automatycznie. Proszę zwróć się z tym do deweroperów. Z poprawnej strony jest możliwość użycia VIDIX bez argumkentów, by włączyć autodetekcję.

VIDIX jest bardzo nową technologią i jest bardzo możliwe, że na twoim systemie nie działa. W tym przypadku jedynym rozwiązniem dla ciebie jest jego przełożenie (głownie libdha). Ale jest nadzieje, że będzie dziłał na tych systemach, gdzie X11.

Ponieważ VIDIX wymaga bezpośredniego dostępu do sprzętu, możesz uruchamiać go na dwa sposoby, jako root lub możesz ustawić bit SUID na pliki binarnym MPlayera (Ostrzeżenie: Jest to ryzyko związane z bezpieczeństwem!). Alternatywnie możesz użyć specialnych modułów jądra, takich jak te:

  1. Pobierz wersję rozwijaną svgaliba (na przykład 1.9.17),
    LUB
    ściągnij wersję stworzoną przez Aleksa w szczególności do użytku MPlayerem (nie potrzebuje źródeł svgalib do kompilacji) stąd.
  2. Skompiluje moduły w katalogu svgalib_helper (możesz je znaleść wewnątrz katalogu svgalib-1.9.17/kernel/ jeśli masz pobrane źródła ze strony svgalib) i zainstaluj je insmodem.
  3. Przenieś katalog svgalib_helper do mplayer/main/libdha/svgalib_helper.
  4. Wymagane, jeśli pobrałeś źródła ze strony svgalib: Usuń komentarz przed linią CFLAGS zawierającą ciąg "svgalib_helper" z libdha/Makefile.
  5. Przekompiluj i zainstaluj libdha.

2.3.1.2.12.1 Karty ATI

Obecnie większość kart ATI jest wspieranych, począwszy od Mach64 do najnowszych Radeonów.

Istnieją 2 skompilowane binaria: radeon_vid dla Radeona oraz rage128_vid dla kart Rage 128. Może wymusisz któryś bądź zezwolisz systemowi VIDIX automatycznie rozpoznać wszystkie gostępne sterowniki.

2.3.1.2.12.2 Karty Matrox

Matrox G200,G400,G450 i G550 zostały zgłoszone, że działają.

Sterowniki wspierają equalizery wideo i powinny być bliskie szybkości jako framebuffer Matroksa.

2.3.1.12.3 Karty Trident

Istnieją sterowniki dostępne dla chipsetów Trident Cyberblade/i1, które znaleść można na płuyach głównych VIA Epia.

Sterownik został napisany i jest utrzymywany przez Alastaira M. Robinsona, który oferuje najnowsze starowniki do ściągnięcia z jego strony domowej. Sterowniki są dodane do MPlayera tylko z lekkim opuźnieniem, więc CVS powinien być zawsze uaktualniany.

2.3.1.2.12.4 Karty 3DLabs

Chciaż istanieją sterowniki dla chipów 3DLabs GLINT R3 oraz Permedia3, nikt ich nie testował, raporty są więc mile widziane.

2.3.1.2.13 DirectFB

"DirectFB jest graficzną biblioteką, którą zaprojektowano z przemyślanym systemem. Oferuje maksymalną akcelerację przy minimalmyn zużyciu i obiciążeniu zasobów." - cytowane z http://www.directfb.org.

Wyklucze cechy DirectFB z tej sekcji.

Pomimo, że MPlayer nie jst utzrymany jako "dostawca wideo" w DirectFB, te sterowniki wyjścia włączą odtwarzanie wideo output driver will enable video playback przez DirectFB. Bezie - oczywiści - akcelerowane, na moim Matroksie G400 prędkość DirectFB była taka sama jak na XVideo.

Zawsze próbuj używać najnowszej wersji DirectFB. Możesz użyć opcji DirectFB w linii poleceń, używając opcji -dfbopts. Warstwa selekcji może zostać określona przez metodę podurządzenia, np.: -vo directfb:2 (warstwa -1 jest domyślną: autodetekcja)

2.3.1.2.14 DirectFB/Matrox (dfbmga)

Proszę przeczytać główną sekcję DirectFB po ogólne informacje.

Te sterowniki wyjścia włączą CRTC2 (na drugiej głowicy) na kartach Matrox G400/G450/G550, wyświatlając wideo niezależnie od pierwszej głowicy.

Instrukcje, co zrobić, bu to działało możesz znaleść pod sekcją techniczną lub bezpośrednio na stronie domowej Ville Syrjala.

Informacja: nie byliśmy w stanie zrobić tego, by działałowo, lecz inni tak. W każdym razie, przenoszenie kodu CRTC2 do mga_vid jest w trakcie.

2.3.1.3 Dekodery MPEG

2.3.1.3.1 DVB

MPlayer wspiera krty z chipsetam Siemens DVB od sprzedawców takich jak Siemens, Technotrend, Galaxis lub Hauppauge. Ostatnie sterowniki DVB są dostępne na stronie Linux TV. Jeśli chcesz wykonywać programowe transkodowanie powinieneś posiadać co najmniej 1GHz CPU.

Configure powinien wykryć twoją kartę DVB. Jeśli tak nie zrobił, wymuś detekcję poprzez

  ./configure --enable-dvb

Jeśli posiadasz nagłówki ost w niestandardowej ścieżce, ustaw ją przez

  ./configure --with-extraincdir=<DVB source directory>/ost/include

Następnie skompiluj i zainstaluj, jak zazwyczaj.

UŻYCIE

Sprzętowe dekodowanie (odtwarzając standardowe pliki MPEG1/2) może zostać wykonane z tym poleceniem:

  mplayer -ao mpegpes -vo mpegpes file.mpg|vob

Sprzętowe dekodowanie lub transkodowanie różnych formatów do MPEG1 może być dokonane używając polecenia podobnego do:

  mplayer -ao mpegpes -vo mpegpes yourfile.ext
  mplayer -ao mpegpes -vo mpegpes -vf expand yourfile.ext

Zauważ, że karty DVB wspierają tylko wielkości 288 i 576 dla PAL lub 240 i 480 dla NTSC. Musisz zeskalować do innych wielkości poprzez dodawanie scale=szerokość:wysokość z szerokością i wysokością chcesz opcji -vf. Karty DVB akceptują rozmaite szerokośći, jak 720, 704, 640, 512, 480, 352 itd i wykonują skalowanie sprzętowe w poziomym kierunku, więc nie potrzebujesz skalowanie poziomego w większości wprzypadków. Dla 512x384 (stosunek 4:3) DivX wypróbuj:

  mplayer -ao mpegpes -vo mpegpes -vf scale=512:576

Jeśli masz szerokoekranowy film i nie chcesz skalować go do penej wysokości, możesz użyć filtra expand=s:w, by dodać czarne bandy. Dla widoku 640x384 DivX, spróbuj:

  mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 file.avi

Jeśli twój CPU jest zbyt wolny dla pełnych 720x576 DivX, wypróbuj zaniżone skalowanie:

  mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 file.avi

Jeśli prędkość się nie poprawiła, spróbuj z zaniżeniem pionowym, także:

  mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 file.avi

Dla OSD i podpisów użyj cechy OSD filtra. Więc zamiast of expand=s:w lub expand=s:w:x:y, użyj expand=s:w:x:y:1 (piąty parametr :1 na końcu włączy renderowanie OSD). Potrzebujesz może podnieść lekko obraz, by otzrymać większą, czarną przestrzeń dla napisów. Potzrebujesz może podnieść napisy, jeśli zą poza twoim ekranem TV, użyj opcji -subpos <0-100>, by to wyregulować (-subpos 80 jest dobrym wyborem).

Żeby odtwarzać filmy, które nie mają 25 fpsów na PAL TV lub na wolnym CPU, dodaj opcję -framedrop.

By zachować stosunek plików DivX i otrzymać optymalne parametry skalowania (poziome skalowanie sprzętow oraz pionowe skalowanie programowe podczas zatrzymywania poprawnego stosunku), użyj filtra dvbscale:

for  4:3 TV: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
for 16:9 TV: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1

PRZYSZŁOŚĆ

Jeśli masz pytania lub chcesz poznać zgłoszenia i wziąść udział w dyskusji na ten temat, wstąp do naszej listy mailingowej MPlayer-DVB Proszę pamiętać, że lista jest w języku angielskim.

W przyszłości możesz spodziewać się możliwości wyświetlania OSD i napisów, używając rodzimych cech OSD kart DVB, jak również bardziej płynnego odtwarzania plików posiadających inną ilość klatek na sekundę, niż 25 w transkodowaniu w czasie rzeczywistym pomiędy MPEG2 i MPEG4 (czściowa dekompresja).

2.3.1.3.2 DXR2

MPlayer wspiera sprzętową akcelerację odtwarzania z kartą Creative DXR2.

Najpierw będziesz potrzebował odpowiednio zainstalowanych sterowników DXR2. Sterowniki i instrukcje instalacji możesz znaleść na stronie Centrum Zasobów DXR2.

UŻYCIE

-vo dxr2
włącz wyjście TV
-vo dxr2:x11 lub -vo dxr2:xv
włącz wyjście Overlay (nakładkowanie) w X11
-dxr2 <option1:option2:...>
Opcja ta jest używana do kontroli sterownika DXR2.

Chipset nakładkowania użyty w DXR2 jest dość kiepskiej jakości, lecz domyślne ustawienia powinny działać dla każdego. OSD może być użytkowe z nakładkowaniem (nie na TV) przez rysowanie w kolorze. Z domyślnymi ustawieniami koloru, możesz otrzymać zmienne rezultaty, zazwyczaj zobaczysz kolorową obramówkę wokól znaku lub inny zabawny efekt. Jeśli jednak właściwie dobrałeś ustawienia kolorów powiniwnieś otrzymać dość pozytywne rezultaty.

Proszę zajrzeć do manuala po dostępne opcje.

2.3.1.3.3 DXR3/Hollywood+

MPlayer wspiera sprzętową akcelerację dotwarzania z kartami Creative DXR3 oraz Sigma Designs Hollywood Plus. Obydwie karty używają dekodera em8300 MPEG z Sigma Designs.

Na początku potrzebujesz odpowiednio zainstalowanych sterowników DXR3/H+, w wersji 0.12.0 lub późniejszej. Sterowniki i instrukcje instalacji możesz znaleść na stronie the DXR3 & Hollywood Plus dla Linuksa. Configure powinien wykryć twoją kartę automatycznie, kompilacja powinna przebiec bezproblemowo.

UŻYCIE

-vo dxr3:prebuf:sync:norm=x:<device>
overlay aktywuje nakładkowanie zamiast wyjścia TV. Do poprawnej pracy wymaga właściwie skonfigurawanego setupu. Najłatwiejszą drogą, by skonfigurowć nakładkowanie, jest najpierw uruchomienie autocal. Następnie uruchom MPayera z wyjściem dxr3 i bez włączonego nakładkowania, uruchom dxr3view. W dxr3view możesz ustawiać nakładkowanie i oglądać efektu w czasie rzeczywistym, być może ta cecha będzie wspierana w GUI MPlayera w przyszłości. Kiedy nakładkowanie ustawione jest odpowiednio, nie będziesz dłużej potrzebował dxr3view.
prebuf włącza prebuforowanie. Prebuforowanie jest cechą chipu em8300, włączającą tzrymanie więcej niż jednej klatki wideo w czasie. Oznacza to, że kierdy uruchamiasz prebuforowaniem, MPlayer spróbuje zatrzymać stały byfor wideo z danymi przez cały czas. Jeśli masz wolną maszynę, MPlayer prawdopodobnie użyje prawie cały lub dokładnie 100% CPU. Jest to wszczególności powszechne, kiedy odtwarzasz czyste strumienie MPEG (jak DVD, SVCD a.s.o.) od kiedy MPlayer nie miał przetwarzania go do MPEG użyje bardzo szybkiego zapełnianie bufora.
Z prebuforowaniem dotwarzanie wideo mniejszą wrażliwość do innych programów w całości wykorzystujących CPU, nie będzie przesuwał klatek, chyba że aplikacje wukorzystują CPU przez długi czas.
Kiedy uruchamiasz bez probuforowania em8300 jest wrażliwszy na ładowanie CPU, więc jest bardzo sugerowane, by włączyć MPlayera z opcję -framedrop, by uniknąc desynchronizacji.
sync włączy nowy silnik synchronizujący. Obecnie jest to w fazie eksperymentów. Z włączoną sunczegar wewnętrzny em8300 będzie monitorował przez cały czas, jeśli startuje z opóźnieniem zegar z MPlayera zresetuje powodując, że em8300 porzucki klatki powodujące opóźnianie.
norm=x ustawi normę TV karty DXR3 bez potrzeby użycia zewnętrznych narzędzi, takich jak em8300setup. Poprawne normy, to 5 = NTSC, 4 = PAL-60, 3 = PAL. Specialnymi są 2 (autodopasowanie używające PAL/PAL-60) i 1 (autodopasowanie używające PAL/NTSC), ponieważ decydują one, którą normę użyć, przez zaglądanie do tempa klatek filmu. norm = 0 (domyślna) nie zmienia obecnej normy.
<device> = numer urządzenia, które ma być użyte, jeśli posiadasz więcej, niż jedną kartę em8300.
Niektóre z tych opcji mogą zostać pominięte.
:prebuf:sync zdaje się, że świetnie pracuje podczas odtwarzanie filmów DivX. Osoby zgłaszały problemy podczas używania opcji prebuf kiedy odtwarzały pliki MPEG1/2. Możesz spróbować uruchomić najpierw bez żadnych opcji, jeśli masz problem z synchronizacją lub problem z napisami DVD, spróbuj z :sync.
-ao oss:/dev/em8300_ma-X
Dla wyjścia audio, gdzie X jest numerem urządzenia (0 jeśli jest jedna karta).
-aop list=resample:fout=xxxxx
em8300 nie może odtwarzać próbkując niżej niż 44100Hz. Jeśli próbka jest poniżej 44100Hz wybierz jedną z dwóch 44100Hz lub 48000Hz w zależności, która jest bliższa. T.j. jeśli film używa 22050Hz użuj 44100Hz jako 44100 / 2 = 22050, jeśli jest 24000Hz użyj 48000Hz jako 48000 / 2 = 24000 i tak dalej. Nie działa to z cyfromym wyjściem audio (-ac hwac3).
-vf lavc/fame
(AUTO-ZAMIESZCZANIE) By odtwarzać zawartość plików innych MPEG na em8300 (t.j. DivX lub RealVideo) musiszs określić któryś z filtrów wideo MPEG1, takich jak libavcodec (lavc) lub libfame (fame). W tym momencie lavc jest zarówno szybki i daje lepszą jakość obrazu, jest sugerowane, abyć go użych, chociaż jeśli masz z nim problemy. Zajrzyj do manuala po informacje odnoście -vf lavc/fame.
Używanie lavc jest wielce proponowane. Obecnie nie ma sposoby na ustawienie fpsów em8300 co oznacza, że wartość ta jest stała - 29.97fps. Jest sugerowane, by użuwać -vf lavc=<quality>:25, w szczególności, jeżeli używasz prebuforowania. Ale skąd 25, a nie 29.97? Więc, rzecz się ma tak, że kiedy używasz 29.97 obraz staje się lekko skokowy. Uzasadnienie tego jest nam nie znane. Ale kiedy ustawisz fpsy na gdzieś pomiędzy 25 i 27 obraz jest stabilny.
-vf expand=-1:-1:-1:-1:1
Mimo, że sterownik DXR3 potrafi umieścić OSD wewnątrz wideo MPEG1/2/4, posiada ono gorszą jakość, niż tradycyjne OSD MPlayera i ma problemy z odświeżaniem. Powyższa linia poleceń najpierw przekonwertuje wejście wideo do MPEG4 (jest to wymagane prawnie, przepraszam), a następnie zastosuje rozszerzony filter, który nie rozszerzy niczego (-1: domyślnie), ale zastosuje normalne OSD na obrazkie (jest to to, co robi "1"na końcu).
-ac hwac3
em8300 wspiera odtwarzanie audio AC3 (dźwięk surround) przez cyfrowe wyjście karty audio. Zobacz powyższą opcję -ao oss, która musi być użyta do określenia wyjścia DXR3 zamiast karty dźwiękowej.

2.3.1.4 Inna sprzętowa wizualizacja

2.3.1.4.1 Zr

Są to sterowniki wyświetlania (-vo zr) dla członków kart przechwytujących/odtwarzających MJPEG (testowane na DC10+ i Buz i powinno działać dla LML33 i oryginalnej DC10). Sterowniki pracują, kodując klatkę do jpeg i przesyłając ją do karty. Dla kodowania jpeg libavcodec jest użyteczne, i sugerowane is. Ze specialnym trybem cinerama, możesz oglądać filmy w obnszernym ekranie pod warunkiem, że piosiadasz dwa beamery i dwie karty MJPEG. W zależności od rozdzielnczości i ustawień jakości, sterownik ten może wymagać dużo mocy obliczeniowej CPU, pamiętaj, by okreslić -framedrop jeśli twoja maszyna jest zbyt wolna. Informacja: Mój AMD K6-2 350MHz jest (z -framedrop) dostatecznmie wystarczający do oglądania filmów VCD o zminienionym rozmiarze i z zmniejszeniem skali.

Sterownik ten kontaktuje się ze sterownikami jądra dostępnych na http://mjpeg.sourceforge.net, więc musisz zrobić je najpierw. Obecność karty MJPEG jest automatycznie wykrywana przez skrypt configure, jeśli detekcje nie powiodła się, wymuś ją przez

  ./configure --enable-zr

Wyjście może być kontrolowane przez różne opcje, obszerne ich objaśnienie możesz znaleść w manualu, krótką listę opcji możesz otrzymać przez uruchomienie

  mplayer -zrhelp

Rzeczy, takie ja skalowanie i OSD (on screen display - wyświetlanie na ekarnie) nie są utrzymywane przez ten sterownik, ale może byc to wykonane poprez filtry wideo. Na przykład, przypuśćmy, że masz film z rozdzielczością 512x272, a chcesz oglądać go na pełnym ekarnie na twojej DC10+. Istnieją trzy główne możliwośći, możesz skalowac film do szerokości 768, 384 lub 192. W związku z quality powinienieś wybrać skalowanie do 384x204 używając szybkiego dwuliniowego skalowanika sprzętowego (fast bilinear). Polecenie jest takie

  mplayer -vo zr -sws 0 -vf scale=384:204 movie.avi

Kadrowanie może być wykonane poprzez filter crop i "własnoręcznie" przez sterownik. Przypuśćmy, że film jest zbyt szeroki, wyświeltać go na twojej Buz, a nie chcesz używać -zrcrop. By zmniejszyć film powinienieć użyć następującego polecenia

  mplayer -vo zr -zrcrop 720x320+80+0 benhur.avi

Jeśli chcesz użyć filtra crop, powinieneś wykonać

  mplayer -vo zr -vf crop=720:320:80:0 benhur.avi

Ekstra zdarzenie -zrcrop wzywa tryb cinerama, t.j. możesz rozdzialić film przez rożne beamery TV, by stworzyc większy ekran. Przypuśćmy, masz dwa beamery. Lewy podłączony do twojego Buz na /dev/video1 i prawy podłączony do DC10+ na /dev/video0. Film ma rozdzielczość 704x288. Przypuśćmy także, że chcesz prawy beamer w czarnobieli, a prawy powninien mieć klatki jpeg w jakośći 10, powinieneś wykonać następujące polecenie

  mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
          -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 movie.avi

Widzisz, że opcje pojawiające się przed drugim -zrcrop zastosowują się tylko do DC10+, a te opcje op drugim -zrcrop - do Buz. Maksymalna liczba kart MJPEG uczestniczących w cinerama to cztery, więc możesz zbudować vidiwall 2x2.

Końcowa ważna uwaga: Nie startuje lub nie stopuj XawTV na urządzeniu odtwarzającym, podczas odtwarzania, zawiesi to twój komputer. Jest tak, jednak, NAJPIERW wystartuj XawTV, PÓŹNIEJ MPlayera, poczekaj, aż MPlayer skończy i NASTĘPNIE zatrzymaj XawTV.

2.3.1.4.2 Blinkenlights

Sterownik ten potrafi użyc protokołu Blinkenlights UDP. Jeśli nie wiesz, czym jest Blinkenlights, nie potrzebujesz tych sterowników.

2.3.1.5 Wsparcie dla wyjścia TV

2.3.1.5.1 Karty Matrox G400

Pod Linuksem masz dwie możliwośći, otzrymanie działającego wyjścia TV dla G400:

WAŻNE: dla instrukcji wyjścia TV Matroksa G450/G550, proszę zajrzeć do następnej sekcji!

Bodowanie kabla wyjścia TV Matroksa

Nikt nie bierze odpowiedzialności i nie poręcza za uszkodzenia wynikłe z tej dokumentacji.

Kabel dla G400: Czwarta końcówka złącza CRTC2 jest złożonym sygnałem wideo. Uziemienia to szusta, siódma i ósma końcówka. (informacje zaczerpnięte od Balázsa Rácza)

Kabel dla G450: Pierwsza końcówka złącza CRTC2 jest złożonym sygnałem wideo. Uziemienia to piąta, szusta, siódma i piętnasta końcówka (5, 6, 7, 15). (informacje zaczerpnięte od Balázsa Kerekesa)

2.3.1.5.2 Karty Matrox G450/G550

Wyjście tw wspierane dla tych kart zostało niedawno wprowadzone, i nie mag go jeszcze w głównej gałęzi jądra. Obecnie moduł mga_vidjak mi wiadomo nie może być użyty, ponieważ sterownik G450/G550 pracujue tylko na jednej konfiguracji: pierwszy chip CRTC (z większośćią dodatków) na pierwszym wyświetlaniu (na monitorze) i drugi CRTC (nie BES - po wyjaśnienia BES, proszę zajrzyj do powyższej sekcji G400) na TV. Więc obecnie możesz użyć tylko sterowników wyjścia fbdev MPlayera.

Pierwszy CRTC obecnie nie może być przekierowany do drugiej głowicy. Autor sterowników jądra matroxfb - Petr Vandrovec - możliwe, że napisze wsparcie do tego, prze wyświetlanie pierwszego wujścia CRTC na obydwu głowicach jednocześnie obecnie proponowane dla G400, zobacz sekcję wyżej.

Niezbędna łata na jądro oraz szczegółowe howto można popbrać z http://www.bglug.ca/matrox_tvout/

2.3.1.5.3 Karty ATI

WSTĘP

Obecnie ATI nie chce wsparcia dla jakichkolwiek wyjść TV pod Linuksem, ponieważ są one licencjowane na technologi Macrovision.

STATUS WYJŚĆ TV KAR ATI POD LINUKSEM

Na innych kartach użyj tylko sterownika VESA, bez VIDIX. Jednak silne CPU jest wymagane.

Jedyna rzecz, jaką musisz wykonać - musisz mieć podłączone złącze TV przed butowaniem PeCta ponieważ BIOS inicjalizuje się tylko raz podczas procedury POST.

2.3.1.5.4 Voodoo 3

Sprawdź ten URL.

2.3.1.5.5 nVidia

Najpierw musisz pobrać zamknięte, binarne sterowniki z http://nvidia.com. Nie będę opisywał procesu instalacji i konfiguracji, ponieważ nie jest to celem tej dokumantacji.

Jeżeli XFree86, XVideo oraz akceleracji 3D poprawnie pracuje, wyedytuj swoją sekcję Urządzenie (Device) w pliku XF86Config, według poniższego przykładu (przystosowanego do twojej karty/TV):

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

Oczywiście najważniejszą rzeczą jest część TwinView.