UrzÄ dzenia wyjĹcia videoUstawianie MTRR
Jest WYSOCE wskazane, aby sprawdziÄ, czy rejestry MTRR sÄ ustawione prawidĹowo,
poniewaĹź mogÄ daÄ duĹźy wzrost wydajnoĹci.
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
WidaÄ mojego Matroksa G400 z 16MB pamiÄci. WydaĹem tÄ komendÄ z XFree 4.x.x,
ktĂłre ustawiajÄ MTRR automatycznie.
JeĹźeli nie zadziaĹaĹo, trzeba to ustawiÄ rÄcznie.
Przede wszystkim musisz znaleĹşÄ adres bazowy. MoĹźesz to zrobiÄ na 3 sposoby:
z komunikatĂłw startowych X11, na przykĹad:
(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
(--) SVGA: Linear framebuffer at 0xD8000000
z /proc/pci (uĹźyj polecenia lspci -v
):
01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525
Memory at d8000000 (32-bit, prefetchable)
z komunikatĂłw sterownika mga_vid w jÄ drze (uĹźyj dmesg):
mga_mem_base = d8000000
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:
1 MB0x1000002 MB0x2000004 MB0x4000008 MB0x80000016 MB0x100000032 MB0x2000000
Znasz juĹź adres bazowy i rozmiar pamiÄci. Ustawmy wiÄc rejestry MTRR!
Na przykĹad dla powyĹźszej karty Matrox (base=0xd8000000)
z 32MB RAMu (size=0x2000000) po prostu wykonaj:
echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr
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.
(cat /proc/cpuinfo aby sprawdziÄ).
WyjĹcia video dla tradycyjnych kart graficznychXv
W XFree86 4.0.2 lub nowszym moĹźesz uĹźywaÄ sprzÄtowego YUV poprzez
rozszerzenie XVideo. To tego uĹźywa opcja .
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.
Aby to zadziaĹaĹo upewnij siÄ, Ĺźe:
Masz XFree86 4.0.2 lub nowsze (starsze nie majÄ XVideo)
Twoja karta obsĹuguje przyĹpieszanie sprzÄtowe (wspĂłĹczesne karty to majÄ )
X Ĺaduje rozszerzenie XVideo, zwykle wyglÄ da to tak:
(II) Loading extension XVideo
w logu /var/log/XFree86.0.log
To Ĺaduje tylko rozszerzenie XFree86. W dobrej instalacji
jest to zawsze wĹÄ czone i nie oznacza to Ĺźe obsĹuga XVideo w
karcie jest zaĹadowana.
Twoja karta obsĹuguje Xv pod Linuksem. Aby sprawdziÄ, sprĂłbuj
xvinfo, wchodzÄ ce w skĹad dystrybucji XFree86.
Powinno wyĹwietliÄ dĹugi tekst podobny do tego:
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...)
Karta musi obsĹugiwaÄ formaty "YUY2 packed" i "YV12 planar",
aby mogĹa byÄ uĹźywana z MPlayerem.
I na koniec sprawdĹş, czy MPlayer
zostaĹ skompilowany z obsĹugÄ Xv.
Wykonaj mplayer -vo help | grep xv .
JeĹźeli zostaĹa wbudowana obsĹuga Xv to powinien siÄ pojawiÄ podobny wiersz:
xv X11/XvKarty 3dfx
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 wywalaĹy siÄ na YV12.
JeĹźeli napotkasz na dziwne dziaĹanie uĹźywajÄ c ,
sprĂłbuj SDL (takĹźe ma XVideo) i zobacz, czy to pomaga.
DokĹadniejsze instrukcje sÄ w sekcji SDL.
LUB, sprĂłbuj NOWEGO sterownika
!
Zajrzyj do sekcji tdfxfb
Karty S3
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.
Teraz dostÄpny jest natywny sterownik bufora ramek (framebuffer) dla
kart S3 Virge, podobny do tdfxfb. Ustaw swĂłj bufor ramek (np. dodaj
"" do swojego kernela)
i uĹźywaj (
i takĹźe mogÄ okazaÄ siÄ przydatne).
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.
Karty nVidia
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
strony nVidii).
JeĹźeli chcesz uzyskaÄ przyspieszenie 3D to zawsze bÄdziesz potrzebowaÄ tych
sterownikĂłw.
karty Riva 128 nie obsĹugujÄ XVideo nawet ze sterownikami nVidii :(
ZaĹźalenia skĹadaj do nVidii.
JednakĹźe MPlayer zawiera sterownik
VIDIX obsĹugujÄ cy wiÄkszoĹÄ kart nVidia.
Obecnie znajduje siÄ w stadium beta i ma pewne ograniczenia.
WiÄcej informacji znajdziesz w sekcji nVidia.
Karty ATISterowniki GATOS
(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.
Radeon VE - jeĹźeli potrzebujesz X, uĹźywaj XFree86 4.2.0 lub nowszego.
Brak obsĹugi wyjĹcia TV.
OczywiĹcie w MPlayerze moĹźesz uzyskaÄ
przyĹpieszane wyĹwietlanie,
z lub bez wyjĹcia TV.
Ĺťadne biblioteki czy X nie sÄ do tego potrzebne.
Poczytaj sekcjÄ o VIDIX.
Karty NeoMagic
Te karty moĹźna znaleĹşÄ w wielu laptopach.
Musisz uĹźywaÄ XFree86 4.3.0 lub nowszych, lub sterownikĂłw Stefana Seyfried'a
obsĹugujÄ cych Xv.
Po prostu wybierz ten, ktĂłry pasuje do Twojej wersji XFree86.
XFree86 4.3.0 zawierajÄ obsĹugÄ Xv, lecz Bohdan Horst wysĹaĹ maĹÄ
ĹatkÄ
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
Aby umoĹźliwiÄ odtwarzanie zawartoĹci o rozmiarach DVD zmodyfikuj
swĂłj XF86Config w nastÄpujÄ cy sposĂłb:
Section "Device"
[...]
Driver "neomagic"
Option "OverlayMem" "829440"
[...]
EndSectionKarty Trident
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.
AlternatywÄ jest sterownik VIDIX dla
karty Cyberblade/i1.
Karty Kyro/PowerVR
JeĹźeli chcesz uĹźywaÄ Xv z kartÄ opartÄ na Kyro
(na przykĹad Hercules Prophet 4000XT), powinieneĹ ĹciÄ gnÄ Ä sterowniki ze
strony PowerVRDGAWSTÄP
Celem tego dokumentu jest wyjaĹnienie w kilku sĹowach, czym ogĂłlnie jest DGA
i co moĹźe zrobiÄ sterownik do MPlayera
(i czego nie moĹźe).
CO TO JEST DGA
DGA to skrĂłt od Direct Graphics Access
(BezpoĹredni DostÄp do Grafiki) i jest dla programu sposobem
ominiÄcia 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
root lub ustawiajÄ c bit SUID
na pliku wykonywalnym MPlayera
(nie zalecane).
IstniejÄ dwie wersje DGA: DGA1 uĹźywane przez XFree 3.x.x i DGA2,
ktĂłre pojawiĹo siÄ w XFree 4.0.1.
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.
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.
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...
INSTALOWANIE OBSĹUGI DGA W MPLAYERZE
Przede wszystkim upewnij siÄ, Ĺźe X Ĺaduje rozszerzenie DGA. SpĂłjrz na
/var/log/XFree86.0.log:
(II) Loading extension XFree86-DGA
XFree86 4.0.x lub nowsze jest wysoce wskazane!
Sterownik DGA MPlayera jest wykrywany automatycznie
przez ./configure. MoĹźesz takĹźe wymusiÄ jego obsĹugÄ
poprzez .
JeĹźeli sterownik nie mĂłgĹ przeĹÄ czyÄ siÄ na niĹźszÄ rozdzielczoĹÄ,
poeksperymentuj z opcjami (tylko w X 3.3.x),
, ,
aby znaleĹşÄ tryb wyĹwietlania, ktĂłry odpowiada filmowi.
Na razie nie ma Ĺźadnego konwertera :(
StaĹ siÄ uĹźytkownikiem root.
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
MPlayera w trybie SUID root:
chown root /usr/local/bin/mplayer
chmod 750 /usr/local/bin/mplayer
chmod +s /usr/local/bin/mplayer
Teraz DGA dziaĹa takĹźe dla zwykĹego uĹźytkownika.
ZagroĹźenie bezpieczeĹstwa
To jest powaĹźne zagroĹźenie bezpieczeĹstwa!
Nigdy
nie rĂłb tego na serwerze, ani na komputerze dostÄpnym dla innych osĂłb,
poniewaĹź mogÄ one zdobyÄ prawa roota poprzez
MPlayera z ustawionym SUID root.
Teraz uĹźyj opcji i juĹź! (mam nadziejÄ:)
PowinieneĹ takĹźe sprĂłbowaÄ czy dziaĹa u Ciebie opcja
! Jest wiele szybsza!
ZMIANA ROZDZIELCZOĹCI
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
/etc/X11/XF86Config
(/etc/X11/XF86Config-4 dla XFree 4.X.X).
SÄ one definiowane przez tak zwane "modelines" (wiersze 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Ĺş plik
/var/log/XFree86.0.log.
Te wpisy dziaĹajÄ z ukĹadem Riva128, przy uĹźyciu moduĹu sterownika nv.o
(moduĹ X serwera):
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 i MPLAYER
DGA jest uĹźywane w dwĂłch miejscach w MPlayerze:
moĹźna go uĹźywaÄ przez sterownik SDL ()
oraz bezpoĹrednio przez sterownik DGA ().
To, co zostaĹo napisane powyĹźej, jest prawdziwe dla obu;
w nastÄpnych sekcjach wyjaĹniÄ, jak dziaĹa sterownik DGA dla
MPlayera.
WĹASNOĹCI
Sterownik DGA wywoĹywany jest poprzez podanie
w wierszu poleceĹ.
Standardowym zachowaniem jest zmiana rozdzielczoĹci na jak najbardziej
pasujÄ cÄ do obrazu.
Ignorowane sÄ opcje i
(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 oraz .
JeĹźeli podasz opcjÄ ,
sterownik DGA wyĹwietli miÄdzy innymi listÄ wszystkich obsĹugiwanych
w tej chwili trybĂłw, dostÄpnych w Twoim pliku konfiguracyjnym
XF86Config.
MajÄ c DGA2 moĹźesz zmusiÄ je takĹźe do wyĹwietlania obrazu w okreĹlonej gĹÄbi,
uĹźywajÄ c opcji .
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).
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.
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.
PodwĂłjne buforowanie moĹźe byÄ wĹÄ czane opcjÄ
oraz moĹźe byÄ wyĹÄ czane opcjÄ
.
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.
KWESTIA SZYBKOĹCI
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
MPlayera naleĹźy interpretowaÄ ostroĹźnie.
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
top aby zobaczyÄ co siÄ na prawdÄ dzieje w Twoim komputerze.
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.
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.
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.
WidziaĹem pewne pliki AVI odtwarzane na Pentium MMX 266.
Na AMD K6-2 powinno dziaĹaÄ od 400MHz.
ZNANE BĹÄDY
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.
Istnieje bĹÄ d zwiÄ zany z XFree 4.0.3 i sterownikiem nv.o
objawiajÄ cy siÄ dziwnymi kolorami
Sterowniki ATI wymagajÄ wielokrotnego przeĹÄ czania trybu po uĹźyciu DGA.
NiektĂłre sterowniki po prostu nie wracajÄ do normalnej rozdzielczoĹci(uĹźyj
Ctrl+Alt+Keypad + oraz
Ctrl+Alt+Keypad -
aby przeĹÄ czaÄ siÄ rÄcznie).
NiektĂłre sterowniki wyĹwietlajÄ dziwne kolory.
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?).
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).
OSD dziaĹa tylko z wĹÄ czonym podwĂłjnym buforowaniem (w przeciwnym razie
migocze).
SDL
SDL (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Ä SDL_VIDEODRIVER.
No, teoretycznie.
W MPlayerze 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Ĺź? :)
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.
WyjĹcie video SDL obsĹuguje wyĹwietlanie napisĂłw pod filmem, na czarnym pasku
(jeĹźeli obecny).
Istnieje wiele opcji wiersza poleceĹ dla SDL
okreĹla sterownik video, ktĂłrego ma uĹźyÄ SDL (np. aalib,
dga, x11)
okreĹla sterownik audio, ktĂłrego ma uĹźyÄ SDL (np. dsp,
esd, artsc)
wyĹÄ cza sprzÄtowe przyĹpieszanie XVideo
prĂłbuje wymusiÄ przyĹpieszanie XVideo
Klawiszologia tylko dla SDLKlawiszAkcjac
poruszanie siÄ pomiÄdzy dostÄpnymi trybami peĹnoekranowymi
n
powraca do normalnego trybu
Znane bĹÄdy:
Klawisze wciĹniÄte pod konsolowym sterownikiem sdl:driver=aalib sÄ powtarzane
w nieskoĹczonoĹÄ. (uĹźyj !).
To jest bĹÄ d w SDL. Nie mam na to wpĹywu (testowane z SDL 1.2.1).
NIE UĹťYWAJ SDL z GUI (Graficznym Interfejsem UĹźytkownika)!
Nie bÄdzie dziaĹaĹo tak, jak powinno.
SVGAlibINSTALACJA
BÄdziesz musiaĹ zainstalowaÄ pakiety svgalib i svgalib-devel, aby
MPlayer zbudowaĹ swĂłj wĹasny sterownik
SVGAlib (automatycznie wykrywane, lecz moĹźna wymusiÄ).
Nie zapomnij przerobiÄ /etc/vga/libvga.config, tak aby
svgalib wspĂłĹdziaĹaĹo z TwojÄ kartÄ i monitorem.
Nie uĹźywaj opcji poniewaĹź wĹÄ cza ona
skalowanie programowe, ktĂłre jest powolne. JeĹźeli naprawdÄ tego potrzebujesz,
uĹźywaj opcji ,
ktĂłra produkuje obraz zĹej jakoĹci, ale jest nieco szybsza.
OBSĹUGA EGA (4BPP)
SVGAlib zawiera EGAlib i MPlayer
moĹźe wyĹwietlaÄ kaĹźdy film w 16 kolorach.
UĹźywalne jest to w nastÄpujÄ cych zestawieniach:
karta EGA z monitorem EGA: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp
karta EGA z monitorem CGA: 320x200x4bpp, 640x200x4bpp
bpp (bity na piksel) musi byÄ ustawione rÄcznie na 4:
Film prawdopodobnie musi byÄ przeskalowany tak, aby pasowaĹ do trybu EGA:
-vf scale=640:350
lub
-vf scale=320:200
Aby to osiÄ gnÄ Ä, musimy siÄgnÄ Ä po szybkÄ , lecz zĹej jakoĹci metodÄ skalowania:
-sws 4
MoĹźliwe, Ĺźe trzeba wyĹÄ czyÄ automatycznÄ korekcjÄ proporcji obrazu:
-noaspect
Z praktyki wiem, Ĺźe najlepszÄ jakoĹÄ obrazu na ekranach EGA moĹźna
osiÄ gnÄ Ä poprzez lekkie zmniejszenie jasnoĹci:
. MusiaĹem takĹźe zmniejszyÄ czÄstotliwoĹÄ
prĂłbkowania, poniewaĹź dĹşwiÄk 44kHz byĹ popsuty: .
OSD i napisy moĹźesz wyĹÄ czyÄ tylko przy pomocy filtru
. DokĹadne parametry znajdziesz na stronie man.
WyjĹcie bufora ramki (FBdev)./configure automatycznie wykrywa, czy zbudowaÄ
wyjĹcie FBdev. WiÄcej informacji znajdziesz w dokumentacji bufora
ramki w ĹşrĂłdĹach jÄ dra (Documentation/fb/*).
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 ;))
WyjĹcie FBdev przyjmuje kilka dodatkowych parametrĂłw:
OkreĹla urzÄ dzanie bufora ramki, ktĂłrego uĹźyÄ (domyĹlnie: /dev/fb0)
Nazwa trybu do uĹźycia (zgodnie z /etc/fb.modes)
Plik konfiguracyjny trybĂłw (domyĹlnie: /etc/fb.modes)
waĹźne wartoĹci, patrz
example.conf
JeĹźeli chcesz siÄ przeĹÄ czyÄ na okreĹlony tryb, uĹźyj
mplayer -vm -fbmode nazwa_trybunazwa_pliku
Samo wybierze najbardziej odpowiedni tryb z
/etc/fb.modes. MoĹźna uĹźyÄ takĹźe wraz z opcjami
oraz . Opcja
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 .
Opcja nie jest obsĹugiwana
(uĹźyj ). Nie moĹźesz uĹźywaÄ trybĂłw 8bpp (lub mniej).
MoĹźesz chcieÄ wyĹÄ czyÄ kursor:
echo -e '\033[?25l'
lub
setterm -cursor off
oraz wygaszacz ekranu:
setterm -blank 0
Aby z powrotem wĹÄ czyÄ kursor:
echo -e '\033[?25h'
lub
setterm -cursor on
Zmiana trybĂłw FBdev nie dziaĹa z buforem ramki VESA,
i nie proĹ o to, poniewaĹź nie jest to ograniczenie
MPlayera.
Bufor ramki Matrox (mga_vid)
Ta sekcja traktuje o obsĹudze ukĹadu BES (Back-End Scaler) na kartach
Matrox G200/G400/G450/G550 przez sterownik
mga_vid z jÄ dra.
Ma on sprzÄtowy VSYNC z potrĂłjnym buforowaniem.
DziaĹa na konsoli framebuffer oraz w X.
Tylko dla Linuksa! Na systemach nie-Linuksowych (testowane na FreeBSD) uĹźywaj
VIDIX zamiast tego!
Instalacja
Przed uĹźyciem musisz skompilowaÄ mga_vid.o:
cd drivers
make
NastÄpnie stwĂłrz urzÄ dzenie (device) /dev/mga_vid:
mknod /dev/mga_vid c 178 0
oraz zaĹaduj sterownik poprzez:
insmod mga_vid.o
PowinieneĹ sprawdziÄ rozmiar wykrywanej pamiÄci uĹźywajÄ c polecenia
dmesg.
JeĹźeli zwracana wartoĹÄ jest zĹa uĹźyj opcji:
(najpierw rmmod mga_vid),
okreĹl rozmiar pamiÄci na karcie (w MB):
insmod mga_vid.o mga_ram_size=16
Aby moduĹ byĹ Ĺadowany/usuwany automatycznie w razie potrzeby:
najpierw wstaw nastÄpujÄ cy wiersz na koĹcu
/etc/modules.conf:
alias char-major-178 mga_vid
NastÄpnie skopiuj moduĹ mga_vid.o
we wĹaĹciwe miejsce w /lib/modules/wersja jÄ dra/gdzieĹ.
Po czym uruchom
depmod -a
Teraz musisz (ponownie) skompilowaÄ MPlayera,
./configure wykryje
/dev/mga_vid i zbuduje sterownik "mga".
UĹźywanie go w MPlayerze uzyskuje siÄ poprzez
jeĹźeli masz konsolÄ matroxfb, lub
pod XFree86 3.x.x lub 4.x.x.
Sterownik mga_vid wspĂłĹpracuje z Xv.
Plik urzÄ dzenia (device file) /dev/mga_vid
moĹźe byÄ odczytywany aby uzyskaÄ pewne informacje,
na przykĹad poprzez cat /dev/mga_vid
i moĹźe byÄ modyfikowany w celu zmiany jasnoĹci:
echo "brightness=120" > /dev/mga_vidObsĹuga 3dfx YUV
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Ä MPlayera.
./configure --enable-tdfxfbWyjĹcie OpenGLMPlayer 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Ä .
Niestety nie wszystkie sterowniki to obsĹugujÄ .
Sterowniki Utah-GLX (dla XFree86 3.3.6) obsĹugujÄ to w kaĹźdej karcie.
SzczegĂłĹy odnoĹnie instalacji dostÄpne sÄ na stronie
.
XFree86(DRI) 4.0.3 i nowsze obsĹugujÄ OpenGL w kartach Matrox i Radeon,
4.2.0 i nowsze obsĹugujÄ Rage128. Na
znajdziesz instrukcjÄ ĹciÄ gania (download) i instalacji.
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):
export $__GL_SYNC_TO_VBLANK=1AAlib - wyĹwietlanie w trybie tekstowym
AAlib jest bibliotekÄ do wyĹwietlania grafiki w trybie tekstowym,
uĹźywajÄ c potÄĹźnego silnika renderujÄ cego ASCII. Istnieje
wiele programĂłw juĹź jÄ obsĹugujÄ cych, takich jak Doom,
Quake, etc. MPlayer zawiera Ĺwietnie dziaĹajÄ cy
sterownik. JeĹźeli ./configure wykryje zainstalowane
aalib, zostanie zbudowany sterownik aalib libvo.
MoĹźesz uĹźywaÄ nastÄpujÄ cych klawiszy w oknie AA, aby zmieniÄ opcje renderowania:
KlawiszAkcja1
zmniejsz kontrast
2
zwiÄksz kontrast
3
zmniejsz jasnoĹÄ
4
zwiÄksz jasnoĹÄ
5
wĹÄ cz/wyĹÄ cz szybkie renderowanie
6
ustaw tryb ditheringu (brak, error distribution, Floyd Steinberg)
7
odwrĂłÄ obraz
8
przeĹÄ czanie kontroli miÄdzy aa i MPlayeremNastÄpujÄ ce opcje mogÄ byÄ uĹźyte w wierszu poleceĹ:
zmiana koloru OSD
Zmiana koloru napisĂłw
gdzie V jest jednym z:
0 (normalny),
1 (ciemny),
2 (pogrubiony),
3 (pogrubiona czcionka),
4 (odwrĂłcony),
5 (specjalny).
AAlib samo w sobie ma wiele opcji. PoniĹźej znajduje siÄ
kilka waĹźniejszych:
Ustawia sugerowany sterownik aa (X11, curses, Linux)
UĹźywa wszystkich 256 znakĂłw.
UĹźywa 8-bitowego ASCII
WyĹwietla wszystkie opcje aalib
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
aby uzyskaÄ grafikÄ na hgafb:)
UĹźyj opcji , jeĹźeli TwĂłj komputer nie jest na tyle
szybki, aby wyrenderowaÄ wszystkie ramki!
OdtwarzajÄ c w terminalu osiÄ gniesz lepszÄ szybkoĹÄ i jakoĹÄ uĹźywajÄ c sterownika
Linux, a nie curses ().
JednakĹźe bÄdziesz potrzebowaĹ praw zapisu na
/dev/vcsa<terminal>!
Nie jest to wykrywane automatycznie przez aalib, ale vo_aa prĂłbuje
znaleĹşÄ najlepszy tryb. SpĂłjrz na
,
jest tam wiÄcej informacji o dostrajaniu.
libcaca - Color ASCII Art library (biblioteka kolorowego ASCII-Art)
Biblioteka libcaca
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 AAlib.
libcaca potrzebuje do pracy terminalu,
powinna wiÄc dziaĹaÄ na wszystkich systemach Uniksowych (wĹÄ cznie z Mac OS X),
uĹźywajÄ c biblioteki
slang lub biblioteki
ncurses, w DOSie uĹźywajÄ c biblioteki
conio.h i w systemach Windowsowych
uĹźywajÄ c slang lub
ncurses (poprzez emulacjÄ Cygwin) bÄ dĹş
conio.h. JeĹźeli
./configure
wykryje libcaca, to zostanie zbudowany
sterownik caca libvo.
Róşnice miÄdzy AAlib sÄ
nastÄpujÄ ce:
16 dostÄpnych kolorĂłw na wyjĹciu znakowym (256 par kolorĂłw)
dirthering obrazu kolorowego
Lecz libcaca ma takĹźe
nastÄpujÄ ce ograniczenia:
brak obsĹugi jasnoĹci, kontrastu, gammy
Aby zmieniÄ opcje renderowania, moĹźesz uĹźyÄ nastÄpujÄ cych klawiszy w oknie caca:
KlawiszAkcjad
PrzeĹÄ czanie metod ditheringu libcaca.
a
PrzeĹÄ czanie anyaliasingu (wygĹadzania)
libcaca.
b
PrzeĹÄ czanie tĹa libcaca.
libcaca bÄdzie takĹźe szukaÄ
nastÄpujÄ cych zmiennych Ĺrodowiskowych:
Ustawia zalecany sterownik caca, np. ncurses, slang, x11.
OkreĹla liczbÄ wierszy i kolumn, np. 128x50.
OkreĹla jakiej uĹźyÄ czcionki, np. fixed, nexus.
JeĹźeli TwĂłj komputer nie jest wystarczajÄ co szybki, aby renderowaÄ
wszystkie ramki, uĹźyj opcji .
VESA - wyjĹcie na VESA BIOS
Ten sterownik zostaĹ zaprojektowany i napisany jako
ogĂłlny sterownik 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.
VESA BIOS EXTENSION (VBE) Version 3.0, z dnia 16 wrzeĹnia 1998
(Strona 70) mĂłwi:
PodwĂłjne kontrolery (Dual-Controller Designs)
VBE 3.0 obsĹuguje podwĂłjne kontrolery zakĹadajÄ c, Ĺźe zwykle obydwa kontrolery
sÄ dostarczane przez tego samego OEM, pod kontrolÄ pojedynczego BIOS ROMu
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 umoĹźliwia 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.
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.)
ZALETY
Jest szansa, Ĺźe bÄdziesz mĂłgĹ oglÄ daÄ filmy
nawet, gdy Linux nie wie, jakiego sprzÄtu uĹźywasz.
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 trybu tekstowego.
Jest szansa Ĺźe uzyskasz dziaĹajÄ ce wyjĹcie TV.
(Jest tak przynajmniej w przypadku kart ATI).
Ten sterownik wywoĹuje procedurÄ obsĹugi przerwania 10h
(int 10h handler), nie jest wiÄc emulatorem -
odwoĹuje siÄ do rzeczywistych rzeczy
rzeczywistego BIOSu w
trybie rzeczywistym (real-mode). (tak naprawdÄ,
to w trybie vm86, ale dziaĹa rĂłwnie szybko).
MoĹźesz uĹźywaÄ VIDIX, uzyskujÄ c przez to przyĹpieszone wyĹwietlanie video
oraz wyjĹcie TV w tym samym czasie!
(Zalecane dla kart ATI.)
JeĹźeli masz VESA VBE 3.0+ i okreĹliĹeĹ gdzieĹ
(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Ä
wszystkie opcje monitora.
WADY
DziaĹa tylko na systemach x86.
MoĹźe byÄ uĹźywane tylko przez uĹźytkownika
root.
Obecnie jest dostÄpne tylko dla Linuksa.
Nie uĹźywaj tego sterownika wraz z GCC 2.96!
Nie bÄdzie dziaĹaÄ!
OPCJE WIERSZA POLECEĹ DLA VESA
obecnie rozpoznawane: dga, aby wymusiÄ tryb dga oraz
nodga, aby wyĹÄ czyÄ tryb dga. W trybie dga moĹźesz
wĹÄ czyÄ podwĂłjne buforowanie
opcjÄ . Informacja: moĹźesz pominÄ Ä
te parametry, aby wĹÄ czyÄ automatyczne wykrywanie
trybu dga.
ZNANE PROBLEMY I ICH OBEJĹCIA
JeĹźeli zainstalowaĹeĹ czcionkÄ NLS
(Native Language Support - ObsĹuga JÄzyka Rodzimego)
w swoim Linuksie i uĹźywasz sterownika VESA z trybu tekstowego to po
zakoĹczeniu MPlayera bÄdziesz miaĹ zaĹadowanÄ
czcionkÄ ROM zamiast narodowej.
MoĹźesz z powrotem zaĹadowaÄ czcionkÄ narodowÄ uĹźywajÄ c na przykĹad narzÄdzia
setsysfont z dystrybucji Mandrake/Mandriva.
(PodpowiedĹş:
To samo narzÄdzie jest uĹźywane do lokalizacji fbdev).
NiektĂłre Linuksowe sterowniki grafiki
nie aktualizujÄ aktywnego trybu BIOS
w pamiÄci DOS. WiÄc jeĹźeli masz taki problem - zawsze uĹźywaj trybu VESA
tylko z trybu tekstowego.
W przeciwnym wypadku tryb tekstowy (#03) i tak bÄdzie wĹÄ czany
i bÄdziesz musiaĹ restartowaÄ komputer.
CzÄsto po zakoĹczeniu pracy sterownika VESA dostajesz
czarny ekran.
Aby przywrĂłciÄ ekran do stanu oryginalnego po prostu przeĹÄ cz siÄ na
innÄ konsolÄ (wciskajÄ c Alt+F<x>)
po czym przeĹÄ cz siÄ z powrotem na poprzedniÄ konsolÄ w ten sam sposĂłb.
Aby uzyskaÄ dziaĹajÄ ce wyjĹcie TV
musisz mieÄ podĹÄ czony odbiornik TV przed wĹÄ czeniem swojego PC,
poniewaĹź video BIOS inicjalizuje siÄ tylko podczas procedury POST
X11
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 .
WiÄkszoĹÄ kart ma obsĹugÄ sprzÄtowego skalowania, warto wiÄc uĹźyÄ dla nich
opcji lub
dla kart Matrox.
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!
Skalowanie programowe jest bardzo wolne, lepiej sprĂłbuj zmieniÄ tryb video.
Jest to bardzo proste. SpĂłjrz na
wiersze trybĂłw sekcji DGA
i wstaw je do swojego XF86Config.
JeĹźeli masz 4.x.x: uĹźyj opcji .
Zmieni ona rozdzielczoĹÄ na takÄ jakÄ ma twĂłj film. JeĹźeli nie:
W XFree86 3.x.x: musisz poruszaÄ siÄ po dostÄpnych rozdzielczoĹciach
poprzez kombinacje klawiszy
Ctrl+Alt+plus
oraz
Ctrl+Alt+minus.
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.
VIDIXWSTÄP
VIDIX jest skrĂłtem od
VIDeo
Interface
for *niX
(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).
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.
ZASTOSOWANIE
MoĹźesz uĹźywaÄ samodzielnego sterownika wyjĹcia video:
. Ten sterownik zostaĹ stworzony jako
interfejs X11
dla technologii VIDIX. Wymaga X serwera 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".
Istnieje konsolowy sterownik VIDIX: .
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
lub . 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
nvidia_vid.
MoĹźesz uĹźyÄ podurzÄ dzenia (subdevice) VIDIX, ktĂłre zostaĹo dodane
do rozmaitych sterownikĂłw wyjĹcia video, takich jak:
(tylko Linux)
oraz .
W rzeczywistoĹci nie ma znaczenia, ktĂłry sterownik wyjĹcia video jest uĹźywany z
VIDIX.
WYMAGANIA
Karta graficzna powinna pracowaÄ w trybie graficznym (z wyjÄ tkiem kart nVidia
z w/w sterownikiem wyjĹcia ).
Sterownik wyjĹcia video MPlayera powinien znaÄ
aktywny tryb video, a takĹźe powinien byÄ w stanie przekazaÄ podurzÄ dzeniu
VIDIX niektĂłre cechy serwera.
METODY UĹťYWANIA
Gdy VIDIX uĹźywany jest jako podurzÄ dzenie
() konfiguracja trybu video jest dokonywana
przez urzÄ dzenie wyjĹcia video (w skrĂłcie
vo_server).
MoĹźesz wiÄc przekazaÄ MPlayerowi
takie same ustawienia jak dla vo_server.
Dodatkowo rozumie on ustawienie
jako globalnie widoczny parametr.
(Zalecam uĹźywanie tego ustawienia z VIDIX przynajmniej dla kart ATI).
JeĹźeli chodzi o , to obecnie rozpoznaje nastÄpujÄ ce
opcje .
MoĹźesz takĹźe okreĹliÄ sterownik VIDIX jako trzeci podargument w wierszu poleceĹ:
mplayer -vo xvidix:mga_vid.so -fs -zoom -double plik.avi
lub
mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 plik.avi
Ale jest to niebezpieczne i nie powinieneĹ tego robiÄ.
W tym przypadku podany sterownik zostanie wymuszony i rezultat moĹźe byÄ
nieprzewidywalny (moĹźe zawiesiÄ TwĂłj komputer).
PowinieneĹ to robiÄ TYLKO, jeĹli jesteĹ caĹkowicie pewien, Ĺźe zadziaĹa,
a MPlayer 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.
PoniewaĹź VIDIX wymaga bezpoĹredniego dostÄpu do sprzÄtu, musisz uruchamiaÄ
MPlayera jako root lub ustawiÄ bit SUID na binarce
MPlayera
(OstrzeĹźenie: Jest to zagroĹźenie bezpieczeĹstwa!).
Alternatywnie moĹźesz uĹźywaÄ specjalnego moduĹu jÄ dra, takiego jak ten:
ĹciÄ gnij rozwojowÄ wersjÄ
svgalib (na przykĹad 1.9.17) LUB ĹciÄ gnij
stÄ d
wersjÄ stworzonÄ przez Alexa specjalnie do uĹźytku z MPlayerem
(nie potrzebuje ona do kompilacji ĹşrĂłdeĹ svgalib)
Skompiluj moduĹ w katalogu svgalib_helper
(jeĹźeli ĹciÄ gnÄ ĹeĹ ĹşrĂłdĹa ze strony svgalib to moĹźna go znaleĹşÄ wewnÄ trz katalogu
svgalib-1.9.17/kernel/) i zaĹaduj go (insmod).
Aby utworzyÄ odpowiednie urzÄ dzenia (devices) w katalogu /dev,
wykonaj jako root make device w katalogu svgalib_helper.
PrzenieĹ katalog svgalib_helper do
mplayer/main/libdha/svgalib_helper.
Wymagane jeĹźeli ĹciÄ gnÄ ĹeĹ ĹşrĂłdĹa ze strony svgalib: usuĹ komentarz przed
wierszem CFLAGS zawierajÄ cy ciÄ g "svgalib_helper" z
libdha/Makefile.
Przekompiluj i zainstaluj libdha
Karty ATI
Obecnie wiÄkszoĹÄ kart ATI jest obsĹugiwana natywnie,
od Mach64 do najnowszych RadeonĂłw.
SÄ dwie skompilowanie binarki: radeon_vid dla RadeonĂłw
oraz rage128_vid dla kart Rage 128.
MoĹźesz wymusiÄ jednÄ z nich lub pozwoliÄ systemowi VIDIX na autodetekcjÄ
dostÄpnych sterownikĂłw.
Karty Matrox
Matrox G200, G400, G450 i G550 zgĹoszono jako dziaĹajÄ ce.
Sterownik obsĹuguje korektory (equalizery) video i powinien byÄ prawie tak
szybki jak bufor ramki Matrox
Karty Trident
Jest dostÄpny sterownik dla ukĹadu Trident Cyberblade/i1, ktĂłry moĹźna znaleĹşÄ
na pĹytach gĹĂłwnych VIA Epia.
Sterownik ten zostaĹ napisany przez (i jest pod opiekÄ )
Alastaira M. RobinsonaKarty 3DLabs
ChociaĹź istnieje sterownik dla ukĹadĂłw 3DLabs GLINT R3 oraz Permedia3,
to nikt go nie testowaĹ (sprawozdania sÄ mile widziane)
Karty nVidia
UnikalnÄ cechÄ sterownika nvidia_vid jest jego zdolnoĹÄ do wyĹwietlania obrazu
na zwykĹej, czysto tekstowej konsoli - bez
magicznych X, bufora ramki, czy czegokolwiek.
W tym celu bÄdziemy musieli uĹźyÄ wyjĹcia video , jak
w pokazuje poniĹźszy przykĹad:
mplayer -vo cvidix przyklad.aviKarty SiS
Jest to kod wysoce eksperymentalny. (Tak jak nvidia_vid).
Przetestowano go na SiS 650/651/740 (najczÄĹciej uĹźywane ukĹady w
minimalistycznych pecetach-kostkach "Shuttle XPC" z pĹytami
SiS).
Czekamy na raporty!
DirectFB
"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
Nie bÄdÄ tu podawaĹ cech DirectFB.
ChociaĹź MPlayer 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.
Zawsze prĂłbuj uĹźywaÄ najnowszej wersji DirectFB.
MoĹźesz uĹźywaÄ opcji DirectFB w wierszu poleceĹ, uĹźywajÄ c opcji
. Wyboru warstwy moĹźna dokonaÄ metodÄ podurzÄ dzenia.
PrzykĹad: (standardowÄ jest warstwa -1 : autodetekcja)
DirectFB/Matrox (dfbmga)
Przeczytaj proszÄ gĹĂłwnÄ sekcjÄ DirectFB,
znajdziesz tam ogĂłlne informacje.
Ten sterownik wyjĹcia video wĹÄ czy CRTC2
(na drugim wyjĹciu z karty) w kartach Matrox G400/G450/G550,
wyĹwietlajÄ c obraz niezaleĹźnie
od pierwszego wyjĹcia z karty.
Ville Syrjala ma na swojej stronie domowej
README
oraz
HOWTO
wyjaĹniajÄ ce, jak uruchomiÄ wyjĹcie TV DirectFB w kartach Matrox.
PierwszÄ wersjÄ DirectFB, jakÄ udaĹo nam siÄ uruchomiÄ byĹa 0.9.17
(wadliwa, potrzebuje Ĺatki surfacemanager
z powyĹźszego URL).
Port kodu CRTC2 do
mga_vid jest od lat w planach.
Mile widziane sÄ
Ĺatki.
Dekodery MPEGWejĹcie i wyjĹcie DVBMPlayer 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
stronie Linux TV.
JeĹźeli chcesz programowego transkodowania, powinieneĹ dysponowaÄ procesorem
o zegarem co najmniej 1GHz.
Configure powinien wykryÄ TwojÄ kartÄ DVB. JeĹźeli tak siÄ nie staĹo,
moĹźesz wymusiÄ obsĹugÄ DVB uĹźywajÄ c
./configure --enable-dvbJeĹźeli Twoje nagĹĂłwki 'ost' znajdujÄ siÄ w niestandardowym miejscu,
ustaw ĹcieĹźkÄ przy pomocy./configure --with-extraincdir=katalog ze ĹşrĂłdĹami DVB/ost/includePo czym skompiluj i zainstaluj jak zwykle.ZASTOSOWANIE
SprzÄtowego dekodowania (odtwarzanie standardowych plikĂłw MPEG-1/2)
moĹźna dokonaÄ tÄ komendÄ :
mplayer -ao mpegpes -vo mpegpes plik.mpg|vob
Programowe dekodowanie oraz transkodowanie róşnych formatów do MPEG-1
moĹźna uzyskaÄ uĹźywajÄ c polecenia podobnego do:
mplayer -ao mpegpes -vo mpegpes twĂłjplik.roz
mplayer -ao mpegpes -vo mpegpes -vf expand twĂłjplik.roz
ZauwaĹź, Ĺźe karty DVB obsĹugujÄ tylko rozdzielczoĹÄ pionowÄ rĂłwnÄ 288 i 576 dla
PAL oraz 240 i 480 dla NTSC.
Musisz przeskalowaÄ obraz, dodajÄ c opcjÄ
,
gdzie szerokoĹÄ i wysokoĹÄ sÄ takie jak dla opcji .
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 (format 4:3) wyprĂłbuj:
mplayer -ao mpegpes -vo mpegpes -vf scale=512:576JeĹźeli masz film w formacie panoramicznym i nie chcesz go skalowaÄ
do peĹnej wysokoĹci, moĹźesz uĹźyÄ filtru
aby dodaÄ czarne paski. Aby wyĹwietliÄ MPEG-4 (DivX) 640x384, wyprĂłbuj:
mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 plik.aviJeĹźeli twĂłj CPU jest za wolny na peĹnowymiarowy MPEG-4 (DivX) 720x576,
sprĂłbuj przeskalowaÄ w dĂłĹ:mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 plik.aviJeĹźeli to nie poprawiĹo szybkoĹci, sprĂłbuj takĹźe pionowego
skalowania w dĂłĹ:mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 plik.avi
Dla OSD i napisĂłw uĹźyj cechy OSD filtru expand. Zamiast
lub
, uĹźyj wiÄc
(piÄ ty parametr
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 , aby to dopasowaÄ
( jest dobrym wyborem).
Aby odtwarzaÄ filmy z liczbÄ klatek na sekundÄ innÄ niĹź 25 na telewizorze PAL
lub na wolnym CPU, dodaj opcjÄ .
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:
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
Cyfrowa telewizja (moduĹ wejĹcia DVB)MoĹźesz uĹźyÄ swojej karty DVB do oglÄ dania cyfrowej telewizji.
PowinieneĹ mieÄ zainstalowane programy scan oraz
szap/tzap/czap/azap; wszystkie sÄ w paczce ze sterownikami.
SprawdĹş czy Twoje sterowniki dziaĹajÄ prawidĹowo uĹźywajÄ c programu takiego jak
dvbstream
(jest on podstawÄ moduĹu wejĹcia DVB).
Teraz powinieneĹ skompilowaÄ plik ~/.mplayer/channels.conf
zgodnie ze skĹadniÄ akceptowanÄ przez szap/tzap/czap/azap
lub kazaÄ scan zrobiÄ to za Ciebie.
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:
~/.mplayer/channels.conf.sat (satelita),
~/.mplayer/channels.conf.ter (naziemna),
~/.mplayer/channels.conf.cbl (kablĂłwka),
oraz ~/.mplayer/channels.conf.atsc
dajÄ c w ten sposĂłb MPlayerowi wskazĂłwkÄ aby
uĹźywaĹ tych plikĂłw zamiast ~/.mplayer/channels.conf,
a Ty musisz tylko okreĹliÄ, ktĂłrej karty uĹźyÄ.
Upewnij siÄ, Ĺźe w channels.conf masz
tylko kanaĹy niekodowane (Free to Air). W przeciwnym
razie MPlayer 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.
W polach audio i video moĹźesz uĹźyÄ rozszerzonej skĹadni:
(kaĹźdy maksymalnie dla 6 pidĂłw);
W tym przypadku MPlayer 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.
Aby wyĹwietliÄ pierwszy z kanaĹĂłw obecnych na Twojej liĹcie, uruchom
mplayer dvb://
JeĹźeli chcesz oglÄ daÄ okreĹlony kanaĹ, na przykĹad R1, uruchom
mplayer dvb://R1
JeĹźeli masz wiÄcej niĹź jednÄ kartÄ, bÄdziesz musiaĹ okreĹliÄ numer
karty, na ktĂłrej jest widoczny kanaĹ (np. 2), koĹźystajÄ c z nastÄpujÄ cej
skĹadni:
mplayer dvb://2@R1
Aby przeĹÄ czaÄ kanaĹy uĹźywaj klawiszy h (nastÄpny) oraz
k (poprzedni) lub skorzystaj z menu OSD (wymaga dziaĹajÄ cego
podsystemu OSD).
JeĹźeli TwĂłj ~/.mplayer/menu.conf zawiera wpis
<dvbsel>, taki jak ten w przykĹadowym pliku
etc/dvb-menu.conf (ktĂłrego moĹźesz uĹźyÄ do nadpisania
~/.mplayer/menu.conf), w menu gĹĂłwnym pokaĹźe siÄ
podmenu, ktĂłre zezwoli Ci na wybĂłr jednego kanaĹu z obecnych w Twoim
channels.conf, moĹźliwe, Ĺźe poprzedzone menu z listÄ
dostÄpnych kart, jeĹźeli wiÄcej niĹź jedna jest uĹźywalna z
MPlayerem.
JeĹźeli chcesz zapisaÄ program (audycjÄ) na dysku, uĹźyj
mplayer -dumpfile r1.ts -dumpstream dvb://R1
JeĹźeli chcesz nagraÄ go w innym formacie (przekodowujÄ c go), moĹźesz zamiast
tego uĹźyÄ polecenia podobnego do
mencoder -o r1.avi -ovc xvid -xvidencopts bitrate=800 -oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://R1
Na stronie man znajdziesz listÄ opcji, ktĂłre moĹźesz przekazaÄ moduĹowi wejĹcia
DVB.
PRZYSZĹOĹÄ
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
MPlayer-DVB.
ProszÄ pamiÄtaj, Ĺźe jÄzykiem listy jest angielski.
W przyszĹoĹci moĹźesz siÄ spodziewaÄ zdolnoĹci wyĹwietlania OSD i napisĂłw
przy uĹźyciu natywnej cechy OSD kart 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).
DXR2MPlayer obsĹuguje sprzÄtowo przyĹpieszane
odtwarzanie przy uĹźyciu karty DXR2.
Przede wszystkim bÄdziesz potrzebowaĹ poprawnie zainstalowanych sterownikĂłw
DXR2. Sterowniki i instrukcjÄ instalacji moĹźesz znaleĹşÄ na stronie
Centrum zasobĂłw DXR2 (DXR2 Resource Center).
ZASTOSOWANIEWĹÄ cz wyjĹcie TV. lub WĹÄ cz wyjĹcie nakĹadki w X11.Ta opcja uĹźywana jest do sterowania sterownikiem DXR2.
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.
ListÄ dostÄpnych opcji znajdziesz na stronie man.DXR3/Hollywood+MPlayer 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.
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
DXR3 & Hollywood Plus dla Linuksa.
configure powinno wykryÄ TwojÄ kartÄ automatycznie,
kompilacja powinna przebiec bez problemu.
ZASTOSOWANIE
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 MPlayera 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 MPlayera.
Po poprawnym ustawieniu nakĹadki nie bÄdziesz juĹź musiaĹ uĹźywaÄ dxr3view.
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
MPlayer
uruchomiony z wĹÄ czonym prebufferingiem bÄdzie prĂłbowaĹ caĹy czas utrzymywaÄ
wypeĹniony bufor. JeĹźeli masz wolnÄ maszynÄ, MPlayer
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.).
MPlayer wypeĹni bufor bardzo szybko, poniewaĹź nie
bÄdzie musiaĹ przekodowywaÄ strumienia do MPEG.
Z prebufferingiem odtwarzanie video jest duĹźo
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 jest wiÄc wysoce
wskazane aby uniknÄ Ä dalszej utraty synchronizacji.
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
MPlayera zostanie zresetowany, czego skutkiem bÄdzie
opuszczenie przez em8300 wszystkich opóźnionych
ramek. 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.
= 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.
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 .
Ustawia wyjĹcie audio, gdzie X jest numerem
urzÄ dzenia (0 jeĹźeli pojedyncza karta).
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 ().
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
libavcodec (lavc) lub
libfame (fame).
W tej chwili lavc jest szybszy i daje lepszÄ jakoĹÄ obrazu. Sugerowane jest
uĹźycie wĹaĹnie jego, chyba Ĺźe masz z nim problemy. SpĂłjrz na stronÄ man, aby
uzyskaÄ wiÄcej informacji o . UĹźywanie lavc jest
wysoce zalecane. 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Ĺ
. 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.
ChociaĹź sterownik DXR3 moĹźe wstawiÄ jakieĹ OSD w obraz MPEG-1/2/4, ma ono
o wiele niĹźszÄ jakoĹÄ niĹź tradycyjne OSD MPlayera,
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).
em8300 obsĹuguje odtwarzanie AC3 audio (dĹşwiÄk przestrzenny) poprzez cyfrowe
wyjĹcie karty. SpĂłjrz na opcjÄ powyĹźej. Musi ona byÄ
uĹźyta aby okreĹliÄ wyjĹcie DXR3 zamiast tego z karty dĹşwiÄkowej.
Inny sprzÄt do wizualizacjiZr
Jest to sterownik wyĹwietlania () 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
libavcodec. KorzystajÄ c ze specjalnego
trybu cinerama
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Ä
, jeĹźeli Twoja maszyna jest zbyt wolna. Info: MĂłj AMD
K6-2 350MHz jest (z ) caĹkiem wystarczajÄ cy do
oglÄ dania materiaĹĂłw o rozmiarach VCD, oraz przeskalowanych w dóŠfilmĂłw.
Sterownik ten "rozmawia" ze sterownikiem jÄ dra dostÄpnym na
, musisz wiÄc go najpierw uruchomiÄ.
ObecnoĹÄ karty MJPEG jest wykrywana automatycznie przez skrypt
configure. JeĹźeli autodetekcja zawiedzie, wymuĹ wykrywanie
uĹźywajÄ c ./configure --enable-zr
WyjĹcie moĹźna kontrolowaÄ licznymi opcjami. Obszerny opis opcji moĹźna znaleĹşÄ na
stronie man, krĂłtki poprzez wywoĹanie
mplayer -zrhelp
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:
mplayer -vo zr -sws 0 -vf scale=384:204 film.avi
Kadrowania moĹźna dokonaÄ filtrem albo tym
sterownikiem. ZaĹóşmy, Ĺźe TwĂłj film jest zbyt szeroki, aby go wyĹwietliÄ na
Twoim Buz i chcesz uĹźyÄ , aby uczyniÄ film mniej
szerokim.
PowinieneĹ uĹźyÄ takiego polecenia:
mplayer -vo zr -zrcrop 720x320+80+0 benhur.avi
JeĹźeli chcesz uĹźyÄ filtru , wykonaj:
mplayer -vo zr -vf crop=720:320:80:0 benhur.avi
Dodatkowe wystÄ pienia wywoĹujÄ tryb
cinerama. 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 /dev/video1
a prawy do DC10+ na /dev/video0. 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:
mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
-zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 \
film.avi
Jak pewnie zauwaĹźyĹeĹ, opcje przed drugim odnoszÄ siÄ
tylko do DC10+, a opcje po drogim odnoszÄ siÄ do Buz.
IloĹÄ kart uczestniczÄ cych w cinerama ograniczona jest do
czterech, wiÄc moĹźesz zbudowaÄ ekran (ĹcianÄ video:) 2x2.
Na koniec - waĹźna uwaga: Nie wĹÄ czaj ani nie wyĹÄ czaj XawTV na urzÄ dzeniu
odtwarzajÄ cym - zawiesisz swĂłj komputer. MoĹźna natomiast
NAJPIERW wĹÄ czyÄ XawTV,
NASTÄPNIE wĹÄ czyÄ MPlayera,
poczekaÄ, aĹź MPlayer zakoĹczy dziaĹanie i
POTEM wyĹÄ czyÄ XawTV.
Blinkenlights
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
Blinkenlights
lub jego nastÄpca - Arcade,
dowiedz siÄ. Pomimo, Ĺźe prawdopodobnie jest to najrzadziej uĹźywane wyjĹcie
video, z pewnoĹciÄ jest najfajniejszym jakie MPlayer
ma do zaoferowania. Po prostu pooglÄ daj kilka
dokumentacyjnych filmĂłw
Blinkenlights. Na filmie Arcade moĹźesz zobaczyÄ sterownik wyjĹciowy
Blinkenlights w akcji w 00:07:50.
ObsĹuga wyjĹcia TVKarty Matrox G400
Pod Linuksem istniejÄ dwa sposoby uruchomienia wyjĹcia TV na karcie Matrox G400:
instrukcje dla Matrox G450/G550 znajdujÄ siÄ w nastÄpnej sekcji!
XFree86
UĹźywajÄ c sterownika oraz moduĹu HAL, dostÄpnego na
stronie Matroksa. BÄdziesz miaĹ X
na TV.
Ten sposĂłb nie daje Ci przyĹpieszanego
odtwarzania jak pod Windowsami! Drugie wyjĹcie ma tylko bufor
ramki YUV, BES (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 . Ostrzegam, Ĺźe bÄdzie to
WOLNE i bÄdzie miaĹo wĹÄ czone
zabezpieczenie przed kopiowaniem Macrovision (Macrovision copy protection).
(moĹźesz "obejĹÄ" Macrovision uĹźywajÄ c tego
skryptu perla).
Bufor ramki (framebuffer)
UĹźywajÄ c moduĹĂłw matroxfb 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 moduĹy!
BÄdziesz takĹźe potrzebowaĹ wĹÄ czonego I2C.
WejdĹş do TVout i wpisz
./compile.sh. Zainstaluj
TVout/matroxset/matroxset w jakimĹ katalogu
znajdujÄ cym siÄ w zmiennej PATH.
JeĹźeli nie masz zainstalowanego fbset, umieĹÄ
TVout/fbset/fbset gdzieĹ w
swojej zmiennej PATH.
JeĹźeli nie masz zainstalowanego con2fb, umieĹÄ
TVout/con2fb/con2fbgdzieĹ w
swojej zmiennej PATH.
NastÄpnie wejdĹş do katalogu TVout/
w ĹşrĂłdĹach MPlayera i uruchom
./modules jako root. Twoja konsola tekstowa wejdzie w
tryb framebuffer (nie ma odwrotu!).
NastÄpnie, WYEDYTUJ i uruchom skrypt ./matroxtv.
UkaĹźe Ci siÄ bardzo proste menu. NaciĹnij 2 i
Enter. 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.
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:
echo -e '\033[?25l'
setterm -blank 0
lub
setterm -cursor off
setterm -blank 0
MoĹźliwe, Ĺźe chcesz umieĹciÄ to w skrypcie, a takĹźe wyczyĹciÄ ekran. Aby
z powrotem wĹÄ czyÄ kursor:
echo -e '\033[?25h' lub
setterm -cursor on
Tiaa git. Rozpocznij odtwarzanie filmu przez:
mplayer -vo mga -fs -screenw 640 -screenh 512 nazwa_pliku
(JeĹźeli uĹźywasz X, przeĹÄ cz siÄ teraz na matroxfb uĹźywajÄ c np.
Ctrl+Alt+F1.)
ZmieĹ 640 oraz 512, jeĹźeli chcesz
ustawiÄ innÄ rozdzielczoĹÄ...
Ciesz siÄ ultra-szybkim ultra-bajernym wyjĹciem TV
Matroksa (lepsze niĹź Xv)!Konstruowanie kabla TV-out do MatroksĂłw
Nikt nie bierze na siebie ĹťADNEJ odpowiedzialnoĹci za zniszczenia spowodowane tÄ
dokumentacjÄ .
Kabel dla G400
W zĹÄ czu CRTC2 na czwartej nóşce (pin) jest sygnaĹ composite video. Ziemia
(uziemienie) jest na szóstej, siódmej i ósmej nóşce. (info dostarczone przez
BalĂĄzs RĂĄcz)
Kabel dla G450
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)
Karty Matrox G450/G550
ObsĹuga wyjĹcia TV dla tych kart zostaĹa dodana dopiero niedawno i nie
naleĹźy jeszcze do gĹĂłwnego drzewa jÄ dra. . Z tego, co
wiem, moduĹ mga_vid 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
BES - po objaĹnienia do BES siÄgnij do sekcji
wyĹźej) na TV. W chwili obecnej moĹźesz wiÄc uĹźywaÄ tylko sterownika wyjĹcia
fbdevMPlayera.
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 (-> sekcja wyĹźej).
PotrzebnÄ ĹatkÄ na jÄ dro i dokĹadne HOWTO moĹźna ĹciÄ gnÄ Ä z
karty ATIWSTÄP
Obecnie ATI nie chce obsĹugiwaÄ pod Linuksem Ĺźadnego z ukĹadĂłw TV-out, z powodu
ich licencjonowanej technologii Macrovision.
STATUS KART ATI Z TV-OUT POD LINUKSEMATI Mach64:
obsĹugiwane przez GATOS.
ASIC Radeon VIVO:
obsĹugiwane przez GATOS.
Radeon oraz Rage128:
obsĹugiwane przez MPlayera!
SprawdĹş sekcje sterownik VESA oraz
VIDIX.
Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4:
obsĹugiwane przez atitvout.
Na innych kartach uĹźywaj sterownika VESA, bez VIDIX.
Potrzebny jest jednak potÄĹźny CPU.
Jedyna rzecz, ktĂłrÄ musisz zrobiÄ to:
MieÄ podĹÄ czony odbiornik TV przez uruchomieniem swojego
PC, poniewaĹź video BIOS inicjalizuje siÄ tylko podczas procedury
POST.
Voodoo 3
SprawdĹş ten URL.
nVidia
Najpierw MUSISZ ĹciÄ gnÄ Ä sterowniki o zamkniÄtych ĹşrĂłdĹach z
. Nie bÄdÄ tutaj opisywaĹ procesu instalacji i
konfiguracji poniewaĹź nie jest to celem tej dokumentacji.
JeĹźeli XFree86, XVideo i przyĹpieszanie 3D juĹź dziaĹa prawidĹowo, przerĂłb
sekcjÄ Device swojej karty w pliku XF86Config zgodnie z
poniĹźszym wzorcem (dostosuj do swojej 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Ĺźniejsza jest czÄĹÄ TwinView.
NeoMagic
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Ä.
UkĹad analogowy:
Doniesiono nam, Ĺźe dobre wyjĹcie TV moĹźna uzyskaÄ uĹźywajÄ c
lub . Potrzebujesz
wkompilowanego w jÄ dro vesafb i przekazane do poleceĹ jÄ dra:
.
PowinieneĹ uruchomiÄ X, nastÄpnie przeĹÄ czyÄ siÄ do
konsoli uĹźywajÄ c np.
CTRL+ALT+F1.
JeĹźeli nie wystartujesz X przed uruchomieniem
MPlayera 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:
clear; mplayer -vo fbdev -zoom -cache 8192 dvd://
PowinieneĹ ujrzeÄ odtwarzany w konsoli film zajmujÄ cy okoĹo poĹowÄ ekranu
LCD Twojego laptopa.
Aby przeĹÄ czyÄ siÄ na TV naciĹnij Fn+F5
trzy razy.
Przetestowane na Tecra 800, jÄ dro 2.6.15 z vesafb, ALSA v1.0.10.
UkĹad kodujÄ cy Chrontel 70xx:
Obecny w IBM thinkpad 390E, a moĹźliwe, Ĺźe takĹźe w innych Thinkpadach lub notebookach.
Dla trybu PAL musisz uĹźyÄ .
Dla truby NTSC - .
Zapewni to funkcjÄ wyjĹcia TV w nastÄpujÄ cych trybach 16 bpp i 8 bpp:
NTSC 320x240, 640x480, byÄ moĹźe takĹźe 800x600.PAL 320x240, 400x300, 640x480, 800x600.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 vbelib.c.
WiÄcej sczegĂłĹĂłw znajdziesz w kodzie funkcji vbeSetTV. W tym przypadku
skontaktuj siÄ z autorem.
Znane problemy: Tylko VESA, nie zaimplementowane ustawienia obrazu poza
jasnoĹciÄ , kontrastem, poziomem czerni (blacklevel) i filtrem migotania
(flickfilter).