1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-24 20:31:37 +00:00

Merge svn changes up to r26979

Most of the conflicts are trivial.

Conflicts:

	Makefile
	cfg-mplayer.h
	input/input.c
	libmenu/vf_menu.c
	libmpcodecs/dec_video.c
	libmpcodecs/vf_expand.c
	libmpcodecs/vf_vo.c
	libmpdemux/demux_mkv.c
	libmpdemux/demuxer.c
	libmpdemux/demuxer.h
	libvo/vo_directfb2.c
	libvo/vo_gl.c
	libvo/vo_winvidix.c
	libvo/vo_xv.c
	libvo/vo_xvidix.c
	libvo/vo_xvmc.c
	libvo/x11_common.c
	mplayer.c
	osdep/timer-linux.c
	stream/cache2.c
This commit is contained in:
Uoti Urpala 2008-06-04 08:10:48 +03:00
commit d5c868325c
217 changed files with 2795 additions and 2142 deletions

View File

@ -335,7 +335,7 @@ Gritsenko, Andriy N. (AG_LS) <andrej@lucky.net>
Guyomarch, Rémi (rguyom) <rguyom@pobox.com> Guyomarch, Rémi (rguyom) <rguyom@pobox.com>
* various fixes * various fixes
* unsharp video filter * unsharp video filter
* XviD encoding support * Xvid encoding support
Hall, Julian <jules@meridiandigital.co.uk> Hall, Julian <jules@meridiandigital.co.uk>
* black frame detection filter (vf_blackframe) * black frame detection filter (vf_blackframe)
@ -642,7 +642,7 @@ Poettering, Lennart <mzzcynlre@0pointer.de>
Poirier, Guillaume (poirierg) <poirierg@gmail.com> Poirier, Guillaume (poirierg) <poirierg@gmail.com>
* French documentation translation and synchronization * French documentation translation and synchronization
* XviD documentation * Xvid documentation
* libavcodec turbo mode * libavcodec turbo mode
* lots of updates of MEncoder's documentation * lots of updates of MEncoder's documentation
* code fixes to support GCC-4.0 * code fixes to support GCC-4.0
@ -751,7 +751,7 @@ Svoboda, Jiří (zar) <Jiri.Svoboda@seznam.cz>
Swain, Robert <robert.swain@gmail.com> Swain, Robert <robert.swain@gmail.com>
* CQM support and turbo multipass mode in x264 interface * CQM support and turbo multipass mode in x264 interface
* Profile support in XviD interface * Profile support in Xvid interface
Syrjälä, Ville <syrjala@sci.fi> Syrjälä, Ville <syrjala@sci.fi>
* -vo dfbmga driver (G400 DVDMax-like feature using dfb 0.9.14) * -vo dfbmga driver (G400 DVDMax-like feature using dfb 0.9.14)
@ -846,6 +846,7 @@ Zores, Benjamin (ben) <ben@geexbox.org>
* IVTV h/w MPEG decoder ao/vo driver. * IVTV h/w MPEG decoder ao/vo driver.
* split of stream layer from libmpdemux to stream. * split of stream layer from libmpdemux to stream.
* VIDIX core and drivers. * VIDIX core and drivers.
* Linux AppleIR remote support.
________________ ________________
The codecs, libs The codecs, libs

View File

@ -46,6 +46,7 @@ MPlayer (1.0)
common API common API
* grayscale decoding/encoding with FFmpeg disabled where it slowed down * grayscale decoding/encoding with FFmpeg disabled where it slowed down
the color case the color case
* Linux AppleIR remote support.
Ports: Ports:
* small crash with vo_macosx fixed * small crash with vo_macosx fixed

View File

@ -150,3 +150,12 @@ Directory: libmpdemux/yuv4mpeg*
Copyright: 2001 Matthew J. Marjanovic <maddog@mir.com> Copyright: 2001 Matthew J. Marjanovic <maddog@mir.com>
2001 Andrew Stevens <andrew.stevens@philips.com> 2001 Andrew Stevens <andrew.stevens@philips.com>
License: GNU General Public License License: GNU General Public License
Name: NuppelVideo / RTJPEG
Version: 0.52a + patches
Homepage: http://web.archive.org/web/20050305195413/http://frost.htu.tuwien.ac.at/~roman/nuppelvideo/
Directory: libmpcodecs/native/rtjpegn.[ch] libmpdemux/nuppelvideo.h
Copyright: 1998 Justin Schoeman (justin@suntiger.ee.up.ac.za)
1998, 1999 Joerg Walter <trouble@moes.pmnet.uni-oldenburg.de>
1999 Wim Taymans <wim.taymans@tvd.be>
License: GNU General Public License version 2

View File

@ -232,6 +232,8 @@ Pressing once will pause movie, every consecutive press will play one frame
and then go into pause mode again (any other key unpauses). and then go into pause mode again (any other key unpauses).
.IPs "q / ESC" .IPs "q / ESC"
Stop playing and quit. Stop playing and quit.
.IPs "U\ \ \ \ "
Stop playing (and quit if \-idle is not used).
.IPs "+ and \-" .IPs "+ and \-"
Adjust audio delay by +/\- 0.1 seconds. Adjust audio delay by +/\- 0.1 seconds.
.IPs "/ and *" .IPs "/ and *"
@ -823,7 +825,7 @@ xover, xv (see \-vo xv:ck), xvmc (see \-vo xv:ck) and directx video output
drivers. drivers.
. .
.TP .TP
.B \-correct\-pts (experimental) .B \-correct\-pts (EXPERIMENTAL)
Switches MPlayer to an experimental mode where timestamps for video frames Switches MPlayer to an experimental mode where timestamps for video frames
are calculated differently and video filters which add new frames or are calculated differently and video filters which add new frames or
modify timestamps of existing ones are supported. modify timestamps of existing ones are supported.
@ -903,14 +905,14 @@ to ensure it does not cause security problems (e.g.\& make sure to use full
paths if "." is in your path like on Windows). paths if "." is in your path like on Windows).
.sp 1 .sp 1
This can be "misused" to disable screensavers that do not support the proper This can be "misused" to disable screensavers that do not support the proper
X API for this. X API.
If you think this is too complicated ask the author of the screensaver program If you think this is too complicated, ask the author of the screensaver
to support the proper X APIs for this. program to support the proper X APIs.
.sp 1 .sp 1
.I EXAMPLE for xscreensaver: .I EXAMPLE for xscreensaver:
mplayer \-heartbeat\-cmd "xscreensaver\-command \-deactivate" file mplayer \-heartbeat\-cmd "xscreensaver\-command \-deactivate" file
.sp 1 .sp 1
.I EXAMPLE for gnome screensaver: .I EXAMPLE for GNOME screensaver:
mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" file mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" file
.RE .RE
.PD 1 .PD 1
@ -950,6 +952,8 @@ Available commands are:
Specify input configuration file other than the default Specify input configuration file other than the default
~/\:.mplayer/\:input.conf. ~/\:.mplayer/\:input.conf.
~/\:.mplayer/\:<filename> is assumed if no full path is given. ~/\:.mplayer/\:<filename> is assumed if no full path is given.
.IPs ar-dev=<device>
Device to be used for Apple IR Remote (default is autodetected, Linux only).
.IPs ar-delay .IPs ar-delay
Delay in milliseconds before we start to autorepeat a key (0 to disable). Delay in milliseconds before we start to autorepeat a key (0 to disable).
.IPs ar-rate .IPs ar-rate
@ -1052,6 +1056,10 @@ Turns off joystick support.
Turns off LIRC support. Turns off LIRC support.
. .
.TP .TP
.B \-noar
Turns off AppleIR remote support.
.
.TP
.B \-nomouseinput .B \-nomouseinput
Disable mouse button press/\:release input (mozplayerxp's context menu relies Disable mouse button press/\:release input (mozplayerxp's context menu relies
on this option). on this option).
@ -3594,16 +3602,25 @@ the maximum texture size of your OpenGL implementation.
Intended to work even with the most basic OpenGL implementations, Intended to work even with the most basic OpenGL implementations,
but also makes use of newer extensions, which allow support for more but also makes use of newer extensions, which allow support for more
colorspaces and direct rendering. colorspaces and direct rendering.
Please use \-dr if it works with your OpenGL implementation, For optimal speed try something similar to
since for higher resolutions this provides a .br
.B big \-vo gl:yuv=2:force\-pbo:ati\-hack \-dr \-noslices
speedup. .br
The code performs very few checks, so if a feature does not work, this The code performs very few checks, so if a feature does not work, this
might be because it is not supported by your card/OpenGL implementation might be because it is not supported by your card/OpenGL implementation
even if you do not get any error message. even if you do not get any error message.
Use glxinfo or a similar tool to display the supported OpenGL extensions. Use glxinfo or a similar tool to display the supported OpenGL extensions.
.PD 0 .PD 0
.RSs .RSs
.IPs (no)ati\-hack
ATI drivers may give a corrupted image when PBOs are used (when using \-dr
or force\-pbo).
This option fixes this, at the expense of using a bit more memory.
.IPs (no)force\-pbo
Always uses PBOs to transfer textures even if this involves an extra copy.
Currently this gives a little extra speed with NVidia drivers and a lot more
speed with ATI drivers.
May need \-noslices and the ati\-hack suboption to work correctly.
.IPs (no)scaled-osd .IPs (no)scaled-osd
Changes the way the OSD behaves when the size of the Changes the way the OSD behaves when the size of the
window changes (default: disabled). window changes (default: disabled).
@ -5362,7 +5379,7 @@ Scales pitch without altering tempo.
Add \'[ speed_mult 0.9438743126816935\' and \'] speed_mult 1.059463094352953\' Add \'[ speed_mult 0.9438743126816935\' and \'] speed_mult 1.059463094352953\'
to your input.conf to step by musical semi-tones. to your input.conf to step by musical semi-tones.
.I WARNING: .I WARNING:
Looses synch with video. Loses sync with video.
.IPs both .IPs both
Scale both tempo and pitch Scale both tempo and pitch
.IPs none .IPs none
@ -10120,6 +10137,27 @@ Use a different quantizer for chroma as compared to luma.
Useful values are in the range <\-2\-2> (default: 0). Useful values are in the range <\-2\-2> (default: 0).
. .
.TP .TP
.B aq_mode=<0\-2>
Defines how adaptive quantization (AQ) distributes bits:
.PD 0
.RSs
.IPs 0
disabled
.IPs 1
Avoid moving bits between frames.
.IPs 2
Move bits between frames (by default).
.RE
.PD 1
.
.TP
.B aq_strength=<positive float value>
Controls how much adaptive quantization (AQ) reduces blocking and blurring
in flat and textured areas (default: 1.0).
A value of 0.5 will lead to weak AQ and less details, when a value of 1.5
will lead to strong AQ and more details.
.
.TP
.B cqm=<flat|jvt|<filename>> .B cqm=<flat|jvt|<filename>>
Either uses a predefined custom quantization matrix or loads a JM format Either uses a predefined custom quantization matrix or loads a JM format
matrix file. matrix file.

View File

@ -246,6 +246,8 @@ juste une trame et remettra le film en pause (toute autre touche arr
pause). pause).
.IPs "q / ESC" .IPs "q / ESC"
Stoppe la lecture et quitte. Stoppe la lecture et quitte.
.IPs "U\ \ \ \ "
Stoppe la lecture (et quitte si \-idle n'est pas utilisé).
.IPs "+ et \-" .IPs "+ et \-"
Ajuste le décalage audio de +/\- 0.1 secondes. Ajuste le décalage audio de +/\- 0.1 secondes.
.IPs "/ et *" .IPs "/ et *"
@ -998,6 +1000,9 @@ D
lieu de ~/\:.mplayer/\:input.conf par défaut. lieu de ~/\:.mplayer/\:input.conf par défaut.
Si vous ne donnez pas le chemin absolu, il sera cherché à Si vous ne donnez pas le chemin absolu, il sera cherché à
~/\:.mplayer/\:<nom_fichier>. ~/\:.mplayer/\:<nom_fichier>.
.IPs ar-dev=<peripherique>
Périphérique à utiliser pour contrôler la télécommande Apple IR
(auto-détecté par défaut, Linux uniquement).
.IPs ar-delay .IPs ar-delay
Temps en milli-secondes avant de démarrer la répétition automatique Temps en milli-secondes avant de démarrer la répétition automatique
d'une touche d'une touche
@ -1113,6 +1118,10 @@ Activ
Désactive la gestion de LIRC. Désactive la gestion de LIRC.
. .
.TP .TP
.B \-noar
Désactive la gestion de la télécommande AppleIR.
.
.TP
.B \-nomouseinput .B \-nomouseinput
Désactive l'interprétation des boutons de la souris (le menu contextuel Désactive l'interprétation des boutons de la souris (le menu contextuel
de mozplayerxp dépend de cette option). de mozplayerxp dépend de cette option).

View File

@ -1,4 +1,4 @@
.\" Synced with r26674 .\" Synced with r26909
.\" MPlayer (C) 2000-2008 MPlayer Team .\" MPlayer (C) 2000-2008 MPlayer Team
.\" Ezt a man oldalt Gabucino, Diego Biurrun és Jonas Jermann készíti/készítette .\" Ezt a man oldalt Gabucino, Diego Biurrun és Jonas Jermann készíti/készítette
.\" Karbantartó: Gabrov .\" Karbantartó: Gabrov
@ -33,7 +33,7 @@
.\" Név .\" Név
.\" -------------------------------------------------------------------------- .\" --------------------------------------------------------------------------
. .
.TH MPlayer 1 "2008. 05. 11." "MPlayer Project" "A film lejátszó" .TH MPlayer 1 "2008. 06. 02." "MPlayer Project" "A film lejátszó"
. .
.SH NÉV .SH NÉV
mplayer \- film lejátszó mplayer \- film lejátszó
@ -233,6 +233,8 @@ Egyszer megnyomva meg
képkockát lejátszik és újra megáll (bármelyik másik gombbal elindul újra). képkockát lejátszik és újra megáll (bármelyik másik gombbal elindul újra).
.IPs "q / ESC" .IPs "q / ESC"
Lejátszás megállítása és kilépés. Lejátszás megállítása és kilépés.
.IPs "U\ \ \ \ "
Lejátszás megállítása (és kilépés, ha a \-idle nincs megadva).
.IPs "+ és \-" .IPs "+ és \-"
Audió késleltetés állítása +/\- 0.1 másodperccel. Audió késleltetés állítása +/\- 0.1 másodperccel.
.IPs "/ and *" .IPs "/ and *"
@ -948,6 +950,8 @@ A rendelkez
Az alapértelmezett ~/\:.mplayer/\:input.conf -tól eltérő bemeneti Az alapértelmezett ~/\:.mplayer/\:input.conf -tól eltérő bemeneti
konfigurációs fájl megadása. konfigurációs fájl megadása.
Ha nincs elérési út megadva, a ~/\:.mplayer/\:<fájlnév> a feltételezett. Ha nincs elérési út megadva, a ~/\:.mplayer/\:<fájlnév> a feltételezett.
.IPs ar-dev=<eszköz>
Az Apple IR távirányítóhoz használt eszköz (alapértelmezetten automatikus detektálás, csak Linux-on).
.IPs ar-delay .IPs ar-delay
Egy gomb automatikus ismétlése előtti késleltetés miliszekundumban (0: kikapcsolás). Egy gomb automatikus ismétlése előtti késleltetés miliszekundumban (0: kikapcsolás).
.IPs ar-rate .IPs ar-rate
@ -1053,6 +1057,10 @@ Joystick t
LIRC támogatás kikapcsolása. LIRC támogatás kikapcsolása.
. .
.TP .TP
.B \-noar
Kikapcsolja az AppleIR távirányító támogatását.
.
.TP
.B \-nomouseinput .B \-nomouseinput
Kikapcsolja az egérgomb nyomás/\:felengedés input-ot (a mozplayerxp Kikapcsolja az egérgomb nyomás/\:felengedés input-ot (a mozplayerxp
helyzetérzékeny menüje igényli ezt a kapcsolót). helyzetérzékeny menüje igényli ezt a kapcsolót).
@ -1565,10 +1573,10 @@ Automatikusan visszav
. .
.TP .TP
.B \-psprobe <bájt pozíció> .B \-psprobe <bájt pozíció>
MPEG-PS folyam lejátszásakor ezzel az opcióval megadhatod, hogy az MPEG-PS vagy MPEG-PES folyam lejátszásakor ezzel az opcióval megadhatod,
MPlayer hány bájtot vizsgáljon át a használt videó codec azonosításához. hogy az MPlayer hány bájtot vizsgáljon át a használt videó codec
Ez az opció a H264 folyamokat tartalmazó EVO fájlok lejátszásához azonosításához.
szükséges. Ez az opció a H264 folyamokat tartalmazó EVO vagy VDR fájlok lejátszásához szükséges.
. .
.TP .TP
.B \-pvr <opció1:opció2:...> (csak PVR) .B \-pvr <opció1:opció2:...> (csak PVR)
@ -3356,6 +3364,8 @@ A haszn
információkat az MPlayer, keresd az [xv common] tag-gel kezdődő sorokat. információkat az MPlayer, keresd az [xv common] tag-gel kezdődő sorokat.
.PD 0 .PD 0
.RSs .RSs
.IPs adaptor=<szám>
Kiválasztja a megadott XVideo adaptort (lásd az xvinfo ereményét).
.IPs port=<szám> .IPs port=<szám>
Adott XVideo port kiválasztása. Adott XVideo port kiválasztása.
.IPs ck=<cur|use|set> .IPs ck=<cur|use|set>
@ -3404,6 +3414,8 @@ Vide
kiterjesztését használja az MPEG-1/2 és VCR2 dekódolás gyorsításához. kiterjesztését használja az MPEG-1/2 és VCR2 dekódolás gyorsításához.
.PD 0 .PD 0
.RSs .RSs
.IPs adaptor=<szám>
Kiválasztja a megadott XVideo adaptort (lásd az xvinfo eredményét).
.IPs port=<szám> .IPs port=<szám>
Adott XVideo port kiválasztása. Adott XVideo port kiválasztása.
.IPs (no)benchmark .IPs (no)benchmark
@ -3605,11 +3617,11 @@ A vide
textúra mérete. textúra mérete.
A szándékok szerint a legegyszerűbb OpenGL implementációkkal is működik, de A szándékok szerint a legegyszerűbb OpenGL implementációkkal is működik, de
használhat újabb kiterjesztéseket is, melyek engedélyezik több színtér és a használhat újabb kiterjesztéseket is, melyek engedélyezik több színtér és a
DirectRendering támogatását. direct rendering támogatását.
Kérjük használd a \-dr kapcsolót, ha működik az OpenGL implementációddal, mivel Az optimális sebességhez próbálj ki valami ehhez hasonlót
nagyobb felbontásoknál ez .br
.B sokkal \-vo gl:yuv=2:force\-pbo:ati\-hack \-dr \-noslices
gyorsabb. .br
A kód nagyon kevés ellenőrzést végez, így ha egy tulajdonság nem elérhető, az A kód nagyon kevés ellenőrzést végez, így ha egy tulajdonság nem elérhető, az
azért lehet, mert a kártyád/OpenGL implementációd nem támogatja, akkor sem, ha azért lehet, mert a kártyád/OpenGL implementációd nem támogatja, akkor sem, ha
hibaüzenetet nem kapsz. hibaüzenetet nem kapsz.
@ -3617,6 +3629,16 @@ Haszn
kiterjesztések megtekintéséhez. kiterjesztések megtekintéséhez.
.PD 0 .PD 0
.RSs .RSs
.IPs (no)ati\-hack
Az ATI vezérlők hibás képet adhatnak ha PBO-kat használsz (\-dr vagy
force\-pbo használata).
Ez az opció javítja ezt, egy kicsivel nagyobb memória használat mellett.
.IPs (no)force\-pbo
Mindig PBO-kat használ a textúrák átviteléhez, akkor is, ha ez egy plusz
másolást igényel.
Jelenleg ez egy kis extra sebességet ad az NVidia vezérlőkkel és sokkal
gyorsabb az ATI vezérlőkkel.
Szükség lehet a \-noslices és az ati\-hack alopciókra a megfelelő működéshez.
.IPs (no)scaled-osd .IPs (no)scaled-osd
Az OSD viselkedésének megváltoztatása, amikor az ablakméret módosul Az OSD viselkedésének megváltoztatása, amikor az ablakméret módosul
(alapértelmezett: letiltva). (alapértelmezett: letiltva).
@ -4476,6 +4498,8 @@ Ez nem hiba, hanem a nem teljes felbont
Ha a <w> is meg van adva, a lowres dekódolás csak akkor lesz használva, ha a Ha a <w> is meg van adva, a lowres dekódolás csak akkor lesz használva, ha a
videó szélessége nagyobb vagy egyenlő mint <w>. videó szélessége nagyobb vagy egyenlő mint <w>.
.RE .RE
.IPs "o\ \ \ \ "
FIXME: nem dokumentált
.IPs "sb=<szám> (csak MPEG-2)" .IPs "sb=<szám> (csak MPEG-2)"
Kihagyja a megadott számú makroblokk sort a tetején. Kihagyja a megadott számú makroblokk sort a tetején.
.IPs "st=<szám> (csak MPEG-2)" .IPs "st=<szám> (csak MPEG-2)"
@ -7739,7 +7763,7 @@ Windows Media Video, 2-es verzi
. .
.TP .TP
.B vqmin=<1\-31> .B vqmin=<1\-31>
minimális kvantáló (pass 1/2) minimális kvantáló
.RSs .RSs
.IPs 1 .IPs 1
Nem javasolt (sokkal nagyobb fájl, csekély minőségbeli különbség és ijesztő Nem javasolt (sokkal nagyobb fájl, csekély minőségbeli különbség és ijesztő
@ -7798,7 +7822,7 @@ Az 1 nem javasolt (l
. .
.TP .TP
.B vqmax=<1\-31> .B vqmax=<1\-31>
Maximális kvantáló (1/2. lépés), 10\-31 közötti ésszerű érték (alapértelmezett: 31). Maximális kvantáló, 10\-31 közötti ésszerű érték (alapértelmezett: 31).
. .
.TP .TP
.B mbqmin=<1\-31> .B mbqmin=<1\-31>
@ -7810,7 +7834,7 @@ idej
. .
.TP .TP
.B vqdiff=<1\-31> .B vqdiff=<1\-31>
maximális kvantáló különbség az egymást követő I- vagy P-kockáknál (1/2. lépés) maximális kvantáló különbség az egymást követő I- vagy P-kockáknál
(alapértelmezett: 3) (alapértelmezett: 3)
. .
.TP .TP
@ -8078,7 +8102,7 @@ Nem okoz teljes
. .
.TP .TP
.B vbitrate=<érték> .B vbitrate=<érték>
Bitráta megadása (1/2. lépés) (alapértelmezett: 800). Bitráta megadása (alapértelmezett: 800).
.br .br
.I FIGYELMEZTETÉS: .I FIGYELMEZTETÉS:
1kbit = 1000 bit 1kbit = 1000 bit
@ -8104,17 +8128,17 @@ probl
. .
.TP .TP
.B vrc_maxrate=<érték> .B vrc_maxrate=<érték>
maximális bitráta kbit/\:sec-ben (1/2. lépés) maximális bitráta kbit/\:sec-ben
(alapértelmezett: 0, határtalan) (alapértelmezett: 0, határtalan)
. .
.TP .TP
.B vrc_minrate=<érték> .B vrc_minrate=<érték>
minimális bitráta kbit/\:sec-ben (1/2. lépés) minimális bitráta kbit/\:sec-ben
(alapértelmezett: 0, határtalan) (alapértelmezett: 0, határtalan)
. .
.TP .TP
.B vrc_buf_size=<érték> .B vrc_buf_size=<érték>
buffer méret kbit-ben (1/2. lépés). buffer méret kbit-ben
MPEG-1/2-nél ez a vbv buffer méretét is beállítja, használj 327-et MPEG-1/2-nél ez a vbv buffer méretét is beállítja, használj 327-et
a VCD-hez, 917-et az SVCD-hez és 1835-at a DVD-hez. a VCD-hez, 917-et az SVCD-hez és 1835-at a DVD-hez.
. .
@ -8139,19 +8163,19 @@ t
. .
.TP .TP
.B vb_qfactor=<\-31.0\-31.0> .B vb_qfactor=<\-31.0\-31.0>
kvantálási faktor a B- és nem-B-kockák között (1/2. lépés) (alapértelmezett: 1.25) kvantálási faktor a B- és nem-B-kockák között (alapértelmezett: 1.25)
. .
.TP .TP
.B vi_qfactor=<\-31.0\-31.0> .B vi_qfactor=<\-31.0\-31.0>
kvantálási faktor az I- és nem-I-kockák között (1/2. lépés) (alapértelmezett: 0.8) kvantálási faktor az I- és nem-I-kockák között (alapértelmezett: 0.8)
. .
.TP .TP
.B vb_qoffset=<\-31.0\-31.0> .B vb_qoffset=<\-31.0\-31.0>
kvantálási lépés B- és nem-B-kockák között (1/2. lépés) (alapértelmezett: 1.25) kvantálási lépés B- és nem-B-kockák között (alapértelmezett: 1.25)
. .
.TP .TP
.B vi_qoffset=<\-31.0\-31.0> .B vi_qoffset=<\-31.0\-31.0>
(1/2. lépés) (alapértelmezett: 0.0) (alapértelmezett: 0.0)
.br .br
ha v{b|i}_qfactor > 0 ha v{b|i}_qfactor > 0
.br .br
@ -8187,7 +8211,7 @@ id
. .
.TP .TP
.B vqcomp=<0.0\-1.0> .B vqcomp=<0.0\-1.0>
Kvantálási tömörítés, a vrc_eq függ ettől (1/2. lépés) (alapértelmezett: 0.5). Kvantálási tömörítés, a vrc_eq függ ettől (alapértelmezett: 0.5).
Például feltéve, hogy az alapértelmezett rate control egyenletet használjuk, Például feltéve, hogy az alapértelmezett rate control egyenletet használjuk,
ha a vqcomp=1.0, a ratecontrol minden kockához annyi számú bitet foglal le, ha a vqcomp=1.0, a ratecontrol minden kockához annyi számú bitet foglal le,
amennyi szükséges az azonos QP melletti kódolásukhoz. amennyi szükséges az azonos QP melletti kódolásukhoz.
@ -8199,7 +8223,7 @@ A l
. .
.TP .TP
.B vrc_eq=<egyenlet> .B vrc_eq=<egyenlet>
fő ratecontrol egyenlet (1/2. lépés) fő ratecontrol egyenlet
.RE .RE
.RSs .RSs
.IPs "1\ \ \ \ " .IPs "1\ \ \ \ "
@ -8272,7 +8296,7 @@ maximum / minimum
. .
.TP .TP
.B vrc_override=<opciók> .B vrc_override=<opciók>
Felhasználó által megadott minőség a megadott részekhez (befejezés, feliratok, ...) (1/2. lépés). Felhasználó által megadott minőség a megadott részekhez (befejezés, feliratok, ...).
Az opciók <kezdő-kocka>, <záró-kocka>, <minőség>[/<kezdő-kocka>, Az opciók <kezdő-kocka>, <záró-kocka>, <minőség>[/<kezdő-kocka>,
<záró-kocka>, <minőség>[/...]]: <záró-kocka>, <minőség>[/...]]:
.PD 0 .PD 0
@ -8294,7 +8318,7 @@ kezdeti buffer felt
. .
.TP .TP
.B vqsquish=<0|1> .B vqsquish=<0|1>
Itt adható meg hogy hogyan maradjon a kvantáló a qmin és qmax között (1/2. lépés). Itt adható meg hogy hogyan maradjon a kvantáló a qmin és qmax között.
.PD 0 .PD 0
.RSs .RSs
.IPs 0 .IPs 0
@ -9057,6 +9081,10 @@ FIXME: Ezt m
.B skip_threshold=<0\-1000000> .B skip_threshold=<0\-1000000>
FIXME: Ezt még dokumentálni kell. FIXME: Ezt még dokumentálni kell.
. .
.TP
.B "o\ \ \ \ \ \ "
FIXME: nem dokumentált
.
. .
.SS nuv (\-nuvopts) .SS nuv (\-nuvopts)
. .
@ -10130,6 +10158,27 @@ K
A használható értékek <\-2\-2> (alapértelmezett: 0). A használható értékek <\-2\-2> (alapértelmezett: 0).
. .
.TP .TP
.B aq_mode=<0\-2>
Definiálja, hogy az adaptív kvantálás (AQ) hogyan ossza el a biteket:
.PD 0
.RSs
.IPs 0
letiltva
.IPs 1
Nem mozgatja a biteket a kockák között.
.IPs 2
Mozgatja a biteket a kockák között (alapértelmezett).
.RE
.PD 1
.
.TP
.B aq_strength=<pozitív lebegőpontos szám>
Megadja, hogy az adaptív kvantálás (AQ) mennyire csökkentse a blokkosodást
és az elmosódást a sík és textúrázott területeken (alapértelmezett: 1.0).
A 0.5-ös érték gyenge AQ-t eredményez és kevesebb részlethez, míg az 1.5-ös
erős AQ-t és nagyobb részletességet.
.
.TP
.B cqm=<flat|jvt|<fájlnév>> .B cqm=<flat|jvt|<fájlnév>>
Vagy egy előre definiált saját kvantálást használ vagy betölt egy JM formátumú Vagy egy előre definiált saját kvantálást használ vagy betölt egy JM formátumú
mátrix fájlt. mátrix fájlt.
@ -10432,8 +10481,12 @@ A folyam tulajdons
Kényszeríti a megadott libavformat demuxer-t. Kényszeríti a megadott libavformat demuxer-t.
. .
.TP .TP
.B "o\ \ \ \ \ \ "
FIXME: nem dokumentált
.
.TP
.B probesize=<érték> .B probesize=<érték>
A detektálási folyamatban használt adat maximális mennyisége. A detektálási folyamatban a próbálkozáshoz használt adat maximális mennyisége.
MPEG-TS esetén ez az érték az átvizsgálandó TS csomagok számát MPEG-TS esetén ez az érték az átvizsgálandó TS csomagok számát
adja meg. adja meg.
. .
@ -10501,9 +10554,14 @@ MPEG[12] implement
. .
.TP .TP
.B preload=<különbség> .B preload=<különbség>
Jelenleg csak az MPEG[12]-nél van értelme: Kezdeti különbség másodpercben Jelenleg csak az MPEG[12]-nél van értelme: Kezdeti különbség
a kimenet referencia időzítője (SCR) és a dekódolási időbélyeg (DTS) között másodpercben a kimenet referencia időzítője (SCR) és a dekódolási
bármelyik jelenlévő folyamnál (késleltetés demux-ból dekódolásba). időbélyeg (DTS) között bármelyik jelenlévő folyamnál
(késleltetés demux-ból dekódolásba).
.
.TP
.B "o\ \ \ \ \ \ "
FIXME: nem dokumentált
. .
. .
. .

View File

@ -134,7 +134,7 @@ streams:
codec support: codec support:
* FFmpeg: Michael Niedermayer * FFmpeg: Michael Niedermayer
* XviD: Ivan Kalvachev * Xvid: Ivan Kalvachev
* x264: Loren Merritt * x264: Loren Merritt
* musepack, speex: Reimar Döffinger * musepack, speex: Reimar Döffinger

View File

@ -21,13 +21,14 @@ $ make install
From within the MPlayer source tree run From within the MPlayer source tree run
$ ./configure --disable-dvdread-internal $ ./configure --disable-dvdread-internal
followed by your preferred parameters. followed by your preferred parameters.
Be warned that you *MUST* disable MPlayer's internal copy of dvdread or something
- most likely - won't work as expected (if at all).
After configure is run it should say that support for dvdnav and dvdread was After configure is run it should say that support for dvdnav and dvdread was
enabled. If not, investigate the dvdnav and dvdread sections in configure.log enabled. If not, investigate the dvdnav and dvdread sections in configure.log
and try to understand what went wrong. If you can't solve the problem yourself and try to understand what went wrong. If you can't solve the problem yourself
post the two sections to mplayer-users. post the two sections to mplayer-users.
Notice: Animated menus are working, but still menus and still scenes are not Notice: Audio and subtitle language selection by means of menus doesn't work yet.
yet supported. Also, audio and subtitle language selection by means of menus Nonetheless they can be switched as usual at any time during
doesn't work yet. Nonetheless they can be switched as usual at any time during
playback by pressing '#' and 'j' (or the keys you chose to override those two playback by pressing '#' and 'j' (or the keys you chose to override those two
bindings). bindings).

View File

@ -122,7 +122,7 @@ during the first pass. However, sometimes it is beneficial to watch
the first-pass file before beginning the second pass to make sure the first-pass file before beginning the second pass to make sure
nothing went wrong in the encoding. nothing went wrong in the encoding.
Next, an example using XviD instead of libavcodec: Next, an example using Xvid instead of libavcodec:
Encoding from an existing AVI file Encoding from an existing AVI file
500 kbit/sec MPEG-4 video 500 kbit/sec MPEG-4 video

View File

@ -304,7 +304,7 @@ This way it apeared that the minimum bits per block is ~40, very
good results are with ~50, and everything above 60 is a waste of bandwidth. good results are with ~50, and everything above 60 is a waste of bandwidth.
And what's actually funny is that it was independent of codec used. The And what's actually funny is that it was independent of codec used. The
results were exactly the same, whether I used DIV3 (with tricky nandub's results were exactly the same, whether I used DIV3 (with tricky nandub's
magick), ffmpeg odivx, DivX5 on Windows or XviD. magick), ffmpeg odivx, DivX5 on Windows or Xvid.
Surprisingly there is one advantage of using nandub-DIV3 for bitrate Surprisingly there is one advantage of using nandub-DIV3 for bitrate
starved encoding: ringing almost never apears this way. starved encoding: ringing almost never apears this way.

View File

@ -267,6 +267,9 @@ step_property <property> [value] [direction]
not given or zero. The direction is reversed if direction is less not given or zero. The direction is reversed if direction is less
than zero. than zero.
stop
Stop playback.
sub_alignment [value] sub_alignment [value]
Toggle/set subtitle alignment. Toggle/set subtitle alignment.
0 top alignment 0 top alignment

View File

@ -36,8 +36,8 @@ I. BASICS:
0. Get Subversion: 0. Get Subversion:
The MPlayer project server runs Subversion 1.2.3. For optimal compatibility The MPlayer project server runs Subversion 1.4. For optimal compatibility
you should use version 1.2.3 or later. you should use version 1.4 or later.
1. Checking out the source tree: 1. Checking out the source tree:
@ -305,6 +305,10 @@ II. POLICY / RULES:
- verbosity changes from default (info) level - verbosity changes from default (info) level
- changes to "historical" parts of docs and web pages - changes to "historical" parts of docs and web pages
- use of internal or external libraries - use of internal or external libraries
- reverting commits from other developers
- mixing functional and cosmetic changes
- making the spelling of words consistent without actually correcting
any spelling errors.
13. Try to keep important discussions and requests (also) on the mplayer-dev-eng 13. Try to keep important discussions and requests (also) on the mplayer-dev-eng

View File

@ -2158,7 +2158,7 @@ corresponding lines for each field (this has drawbacks - see method 3).
these filters available to choose from, each with its own advantages these filters available to choose from, each with its own advantages
and disadvantages. Consult <option>mplayer -pphelp</option> and and disadvantages. Consult <option>mplayer -pphelp</option> and
<option>mplayer -vf help</option> to see what is available <option>mplayer -vf help</option> to see what is available
(grep for "deint"), read Michael's Niedermayer (grep for "deint"), read Michael Niedermayer's
<ulink url="http://guru.multimedia.cx/deinterlacing-filters/">Deinterlacing filters comparison</ulink>, <ulink url="http://guru.multimedia.cx/deinterlacing-filters/">Deinterlacing filters comparison</ulink>,
and search the and search the
<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html"> <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">
@ -2250,7 +2250,7 @@ mencoder dvd://1 -oac copy -vf pullup,softskip
fields to form a complete frame. <option>filmdint</option> will fields to form a complete frame. <option>filmdint</option> will
deinterlace individual fields that it cannot match, however, whereas deinterlace individual fields that it cannot match, however, whereas
<option>pullup</option> will simply drop them. Also, the two filters <option>pullup</option> will simply drop them. Also, the two filters
have separate detection code, and filmdint may tend to match fields a have separate detection code, and <option>filmdint</option> may tend to match fields a
bit less often. Which filter works better may depend on the input bit less often. Which filter works better may depend on the input
video and personal taste; feel free to experiment with fine-tuning video and personal taste; feel free to experiment with fine-tuning
the filters' options if you encounter problems with either one (see the filters' options if you encounter problems with either one (see

View File

@ -603,10 +603,8 @@ and needs a bit of manual setup. Download
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (with MTRR support)</ulink> <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (with MTRR support)</ulink>
and copy it to the <filename class="directory">vidix/dhahelperwin</filename> and copy it to the <filename class="directory">vidix/dhahelperwin</filename>
directory in your <application>MPlayer</application> source tree. directory in your <application>MPlayer</application> source tree.
Open a console and change to that directory. Then type Open a console and type
<screen>gcc -o dhasetup.exe dhasetup.c</screen> <screen>make install-dhahelperwin</screen>
and execute
<screen>dhasetup.exe install</screen>
as Administrator. After that you will have to reboot. as Administrator. After that you will have to reboot.
</para> </para>

View File

@ -854,15 +854,14 @@ For a Linux 2.6.x version of this driver check out
<procedure> <procedure>
<title>Installation:</title> <title>Installation:</title>
<step><para> <step><para>
To use it, you first have to compile <filename>mga_vid.o</filename>: To use it, you first have to compile <filename>drivers/mga_vid.o</filename>:
<screen> <screen>
cd drivers make drivers<!--
make<!--
--></screen> --></screen>
</para></step> </para></step>
<step><para> <step><para>
Then run (as <systemitem class="username">root</systemitem>) Then run (as <systemitem class="username">root</systemitem>)
<screen>make install</screen> <screen>make install-drivers</screen>
which should install the module and create the device node for you. which should install the module and create the device node for you.
Load the driver with Load the driver with
<screen>insmod mga_vid.o</screen> <screen>insmod mga_vid.o</screen>
@ -941,14 +940,13 @@ the following instructions.
<procedure> <procedure>
<title>Installing the tdfx_vid.o kernel module:</title> <title>Installing the tdfx_vid.o kernel module:</title>
<step><para> <step><para>
Compile <filename>tdfx_vid.o</filename>: Compile <filename>drivers/tdfx_vid.o</filename>:
<screen> <screen>
cd drivers make drivers</screen>
make</screen>
</para></step> </para></step>
<step><para> <step><para>
Then run (as <systemitem class="username">root</systemitem>) Then run (as <systemitem class="username">root</systemitem>)
<screen>make install</screen> <screen>make install-drivers</screen>
which should install the module and create the device node for you. which should install the module and create the device node for you.
Load the driver with Load the driver with
<screen>insmod tdfx_vid.o</screen> <screen>insmod tdfx_vid.o</screen>

View File

@ -262,7 +262,7 @@ Overview and Introduction to the Fidelity Range Extensions</ulink>.
<application>MPlayer</application> utilise le décodeur H264 de <application>MPlayer</application> utilise le décodeur H264 de
<systemitem class="library">libavcodec</systemitem>. <systemitem class="library">libavcodec</systemitem>.
<systemitem class="library">libavcodec</systemitem> a eu <systemitem class="library">libavcodec</systemitem> a eu
un décodeur H.264 un minimum utilisable environ juillet 2004, un décodeur H.264 un minimum utilisable aux environs de juillet 2004,
cependant des changements et améliorations majeurs ont été implémentés depuis cette date, cependant des changements et améliorations majeurs ont été implémentés depuis cette date,
à la fois en terme de fonctionalités supportées et d'utilisation du processeur. à la fois en terme de fonctionalités supportées et d'utilisation du processeur.
Pour être sûr de soi, c'est toujours une bonne idée d'utiliser une version récente extraite Pour être sûr de soi, c'est toujours une bonne idée d'utiliser une version récente extraite
@ -302,7 +302,7 @@ Overview and Introduction to the Fidelity Range Extensions</ulink>.
Ceci installe libx264.a dans /usr/local/lib et x264.h est placé dans Ceci installe libx264.a dans /usr/local/lib et x264.h est placé dans
/usr/local/include. /usr/local/include.
Avec la bibliothèqye <systemitem class="library">x264</systemitem> et l'en-tête Avec la bibliothèque <systemitem class="library">x264</systemitem> et l'en-tête
aux emplacements standards, construire aux emplacements standards, construire
<application>MPlayer</application> avec le support <application>MPlayer</application> avec le support
<systemitem class="library">x264</systemitem> est facile. <systemitem class="library">x264</systemitem> est facile.
@ -490,7 +490,7 @@ RedHat sur <ulink url="http://greysector.rangers.eu.org/">Grey Sector</ulink>.
<sect2 id="amr"> <sect2 id="amr">
<title>codecs AMR</title> <title>codecs AMR</title>
<para> <para>
Le dodec de voix Adaptive Multi-Rate est utilisé dans les téléphones mobiles de Le codec de voix Adaptive Multi-Rate est utilisé dans les téléphones mobiles de
troisième génération (3G). troisième génération (3G).
L'implémentation de référence est disponible depuis L'implémentation de référence est disponible depuis
<ulink url="http://www.3gpp.org">Projet d'Association sur la 3ème Génération</ulink> <ulink url="http://www.3gpp.org">Projet d'Association sur la 3ème Génération</ulink>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- synced with r25308 --> <!-- synced with r26920 -->
<chapter id="encoding-guide"> <chapter id="encoding-guide">
<title>L'encodage avec <application>MEncoder</application></title> <title>L'encodage avec <application>MEncoder</application></title>
@ -143,7 +143,7 @@
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
<emphasis role="bold">pulldown PAL 2:2:2:2:2:2:2:2:2:2:2:3</emphasis>: <emphasis role="bold">pulldown PAL 2:2:2:2:2:2:2:2:2:2:2:3</emphasis>:
Toutes les 12 images sont affichées pour la durée de 3 trames au lieu de deux. Cela Toutes les 12 images, une image est affichées pour la durée de 3 trames au lieu de deux. Cela
permet d'éviter le problème de l'accélération de 4% mais rend le processus bien plus permet d'éviter le problème de l'accélération de 4% mais rend le processus bien plus
difficile à inverser. Cette technique est généralement utilisée dans les productions difficile à inverser. Cette technique est généralement utilisée dans les productions
musicales où l'accélération de 4% endommagerait sérieusement la qualité musicale. musicales où l'accélération de 4% endommagerait sérieusement la qualité musicale.
@ -156,7 +156,7 @@
trames par seconde pour maintenir la vitesse d'affichage NTSC. trames par seconde pour maintenir la vitesse d'affichage NTSC.
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
<emphasis role="bold">Pulldown NTSC 2:2</emphasis>: Utilisé pour montré <emphasis role="bold">Pulldown NTSC 2:2</emphasis>: Utilisé pour montrer
du 30 images par secondes sur du NTSC. Joli, comme le pulldown PAL 2:2. du 30 images par secondes sur du NTSC. Joli, comme le pulldown PAL 2:2.
</para></listitem> </para></listitem>
</itemizedlist> </itemizedlist>
@ -890,7 +890,7 @@
conserver l'entrelacement, vous devrez vous abstenir de redimensionner. conserver l'entrelacement, vous devrez vous abstenir de redimensionner.
Sans redimensionner, pour utiliser des dimensions multiples de 16, Sans redimensionner, pour utiliser des dimensions multiples de 16,
il vous faudra recadrer plus petit que l'image. Ne pas recadrer plus grand que l'image il vous faudra recadrer plus petit que l'image. Ne pas recadrer plus grand que l'image
parce que car les bandes noires sont nuisibles à la compression. parce que les bandes noires sont nuisibles à la compression.
</para> </para>
<para> <para>
@ -938,7 +938,7 @@
devez sélectionner un débit. devez sélectionner un débit.
Le concept de débit (bitrate) est assez simple. Le concept de débit (bitrate) est assez simple.
C'est un nombre (moyen) de bits par seconde qui sera utilisé pour stocker votre film. C'est un nombre (moyen) de bits par seconde qui sera utilisé pour stocker votre film.
Normalement, le débit est mesuré en kilobits (1000 bits) par seconde. Normalement, le débit est mesuré en kilobits (1000bits) par seconde.
La taille de votre film sur le disque dur correspond au débit multiplié par sa La taille de votre film sur le disque dur correspond au débit multiplié par sa
durée plus une petite quantité pour l'"en-tête" (surcoût, voir par exemple la section sur durée plus une petite quantité pour l'"en-tête" (surcoût, voir par exemple la section sur
<link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">les conteneurs AVI</link>). <link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">les conteneurs AVI</link>).
@ -1118,7 +1118,7 @@
l'encodage le plus proche possible du DVD source. Le recadrage est souvent l'encodage le plus proche possible du DVD source. Le recadrage est souvent
nécessaire (comme expliqué plus haut), mais évitez de redimensionner l'image. nécessaire (comme expliqué plus haut), mais évitez de redimensionner l'image.
Bien qu'il soit parfois préférable de réduire la taille de l'image plutôt que d'utiliser Bien qu'il soit parfois préférable de réduire la taille de l'image plutôt que d'utiliser
un quantificateur plus élevé, nous voulons éviter tout ceci:souvenez-vous que un quantificateur plus élevé, nous voulons éviter tout ceci. Souvenez-vous que
nous avons décidé au départ d'échanger des bits pour de la qualité. nous avons décidé au départ d'échanger des bits pour de la qualité.
</para> </para>
@ -1330,7 +1330,7 @@ Notez l'usage des options <option>ilme</option> et <option>ildct</option>.
<para> <para>
Néanmoins, les nouveaux codecs qui sont en développement peuvent souffrir Néanmoins, les nouveaux codecs qui sont en développement peuvent souffrir
de bugs qui n'ont pas encore été repérés et qui peuvent saboter un encodage. de bugs qui n'ont pas encore été repérés et qui peuvent saboter un encodage.
Ce malheureusement parfois le prix à payer pour l'utilisation de Ceci est malheureusement parfois le prix à payer pour l'utilisation de
technologies de pointe. technologies de pointe.
</para> </para>
<para> <para>
@ -1402,8 +1402,8 @@ Notez l'usage des options <option>ilme</option> et <option>ildct</option>.
Prenez quelques échantillons de sources brutes et comparez les Prenez quelques échantillons de sources brutes et comparez les
différentes options et codecs pour en trouver un qui vous convienne différentes options et codecs pour en trouver un qui vous convienne
le mieux. le mieux.
Le meilleur codec est celui que vous maîtrisez et celui qui vous semble Le meilleur codec est celui que vous maîtrisez et qui vous semble
le plus joli à vous yeux le plus joli à vos yeux
<footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'> <footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'>
<para>Le même encodage peut apparaître différement sur le moniteur de <para>Le même encodage peut apparaître différement sur le moniteur de
quelqu'un d'autre ou lorsqu'il est lu par un autre décodeur, donc armez quelqu'un d'autre ou lorsqu'il est lu par un autre décodeur, donc armez
@ -1689,7 +1689,7 @@ Notez l'usage des options <option>ilme</option> et <option>ildct</option>.
<formalpara> <formalpara>
<title>Une note à propos des nombres</title> <title>Une note à propos des nombres</title>
<para> <para>
Beaucoup de documents renvoient à un Beaucoup de documents, incluant l'article pointé par le lien précédent, renvoient à un
nombre de trames par secondes pour la vidéo NTSC de 59.94 ce qui correspond à nombre de trames par secondes pour la vidéo NTSC de 59.94 ce qui correspond à
29.97 images complètes par secondes (pour le télécine et l'entrelacé) et à 23.976 (pour 29.97 images complètes par secondes (pour le télécine et l'entrelacé) et à 23.976 (pour
le progressif). Pour simplifier, certains documents arrondissent même à 60, 30 et 24. le progressif). Pour simplifier, certains documents arrondissent même à 60, 30 et 24.
@ -1732,7 +1732,7 @@ Notez l'usage des options <option>ilme</option> et <option>ildct</option>.
Sur un DVD, la vidéo n'est jamais vraiment stockée à 60000/1001 trames par seconde. Sur un DVD, la vidéo n'est jamais vraiment stockée à 60000/1001 trames par seconde.
Si la vidéo est d'origine en 60000/1001, chaque paire de trames est alors combinée Si la vidéo est d'origine en 60000/1001, chaque paire de trames est alors combinée
pour former une image, ce qui donne 30000/1001 images par seconde. Les lecteurs de pour former une image, ce qui donne 30000/1001 images par seconde. Les lecteurs de
DVD de salon lisent alors les fanions incorporé au flux vidéo pour déterminer DVD de salon lisent alors les drapeaux incorporés au flux vidéo pour déterminer
si la première ligne à afficher doit être paire ou impaire. si la première ligne à afficher doit être paire ou impaire.
</para> </para>
@ -1767,7 +1767,9 @@ Notez l'usage des options <option>ilme</option> et <option>ildct</option>.
Elles représentent juste le minimum requis pour encoder la vidéo qui s'y rapportent. Elles représentent juste le minimum requis pour encoder la vidéo qui s'y rapportent.
La meilleure méthode pour faire un bon encodage de DVD ou procéder à des réglages avancés de La meilleure méthode pour faire un bon encodage de DVD ou procéder à des réglages avancés de
<systemitem class="library">libavcodec</systemitem> pour atteindre une qualité optimum sont des <systemitem class="library">libavcodec</systemitem> pour atteindre une qualité optimum sont des
questions en dehors des propos de ce guide. questions en dehors des propos de cette section.
Référez-vous aux autres sections contenues dans
<link linkend="encoding-guide">L'encodage avec <application>MPlayer</application></link>.
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
Il y a quelques notes en bas de page spécifiques à ce guide, elles sont liées comme ceci : Il y a quelques notes en bas de page spécifiques à ce guide, elles sont liées comme ceci :
@ -1991,7 +1993,7 @@ Notez l'usage des options <option>ilme</option> et <option>ildct</option>.
Encodez la vidéo sous forme entrelacée. Normalement, l'entrelacement Encodez la vidéo sous forme entrelacée. Normalement, l'entrelacement
ruine la capacité de compression de l'encodeur, mais <systemitem class="library">libavcodec</systemitem> ruine la capacité de compression de l'encodeur, mais <systemitem class="library">libavcodec</systemitem>
possède deux paramètres spécialement définis pour gérer le stockage de la vidéo entrelacée de manière possède deux paramètres spécialement définis pour gérer le stockage de la vidéo entrelacée de manière
plus satisfaisante: <option> ildct</option> et <option>ilme</option>. Aussi, plus satisfaisante: <option>ildct</option> et <option>ilme</option>. Aussi,
l'utilisation de <option>mbd=2</option> est-elle fortement recommandée <link linkend="menc-feat-telecine-footnotes">[2] </link> l'utilisation de <option>mbd=2</option> est-elle fortement recommandée <link linkend="menc-feat-telecine-footnotes">[2] </link>
car cela encodera les macroblocs non-entrelacés à des endroits où il n'y car cela encodera les macroblocs non-entrelacés à des endroits où il n'y
a pas de mouvements. Notez que <option>-ofps</option> n'est <emphasis>pas</emphasis> nécessaire ici. a pas de mouvements. Notez que <option>-ofps</option> n'est <emphasis>pas</emphasis> nécessaire ici.
@ -2017,7 +2019,7 @@ Notez l'usage des options <option>ilme</option> et <option>ildct</option>.
<screen>mencoder dvd://1 -oac copy -vf pp=lb -ovc lavc</screen> <screen>mencoder dvd://1 -oac copy -vf pp=lb -ovc lavc</screen>
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
Malheureusement, cette option est un boguée dans Malheureusement, cette option est boguée dans
<application>MEncoder</application> ; cela devrait bien marcher avec <application>MEncoder</application> ; cela devrait bien marcher avec
<application>MEncoder G2</application>, mais on n'en est pas encore là. Vous <application>MEncoder G2</application>, mais on n'en est pas encore là. Vous
risquez de subir des plantages. Peu importe, l'option <option>-vf tfields</option> risquez de subir des plantages. Peu importe, l'option <option>-vf tfields</option>
@ -2079,10 +2081,28 @@ Notez l'usage des options <option>ilme</option> et <option>ildct</option>.
disponible pour encoder le téléciné et le &quot;Mélange de progressive et télécinée&quot;. disponible pour encoder le téléciné et le &quot;Mélange de progressive et télécinée&quot;.
<screen>mencoder dvd://1 -oac copy -vf pullup,softskip -ovc lavc -ofps 24000/1001</screen> <screen>mencoder dvd://1 -oac copy -vf pullup,softskip -ovc lavc -ofps 24000/1001</screen>
</para> </para></listitem>
<listitem><para>
<option>-vf filmdint</option> est similaire à
</listitem> <option>-vf pullup</option> : les deux filtres tentent d'appairer deux
demi-trames pour construire une trame complète.
Néanmoins, <option>filmdint</option> desentrelacera les demi-trames
orphelines tandis que <option>pullup</option> les éliminera.
De plus, les deux filtres ont des codes de détection différents et
<option>filmdint</option> peut avoir tendence à faire correspondre les
demi-trames un peu moins souvent.
Le contenu video à traiter et votre sensibilité personnelle fera qu'un
filtre fonctionnera mieux qu'un autre.
Sentez-vous libre d'ajuster les options des filtres si vous rencontrez
des problèmes avec l'un d'eux (consultez le manuel pour plus de
détails).
Pour la plupart des supports vidéo de qualité, les deux filtres
fonctionnent plutôt bien : débuter avec l'un ou l'autre ne fera pas
grande différence.
<screen>
mencoder dvd://1 -oac copy -vf filmdint -ovc lavc -ofps 24000/1001<!--
--></screen>
</para></listitem>
<listitem><para> <listitem><para>
Une méthode plus ancienne consiste à, au lieu de téléciner-inverse les passages télécinés, Une méthode plus ancienne consiste à, au lieu de téléciner-inverse les passages télécinés,
téléciner les parties non-télécinées téléciner les parties non-télécinées
@ -2096,17 +2116,6 @@ Notez l'usage des options <option>ilme</option> et <option>ildct</option>.
</para> </para>
</listitem> </listitem>
<listitem><para>
Je n'ai pas moi-même utilisé <option>-vf filmdint</option>, mais voilà ce que
D Richard Felker III en dit:
<blockquote><para>Il est correct, mais à mon avis, il essaie de désentrelacer plutôt
que de téléciner-inverse trop souvent (tout comme les lecteurs DVD de salon
&amp; les TVs progressive) ce qui donne des clignotements affreux et d'autre
artefacts. Si vous prévoyer l'utiliser, vous aurez au minimum besoin de passer
du temps à affiner les options et à regarder le résultat en sortie pour vous assurer
que cela n'esquinte pas tout.</para></blockquote>
</para></listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
@ -4923,9 +4932,9 @@ me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300
</sect3> </sect3>
<sect3 id="menc-feat-vcd-dvd-a-v-sync"> <sect3 id="menc-feat-vcd-dvd-a-v-sync">
<title>Maintaining A/V sync</title> <title>Maintient de la synchronisation A/V</title>
<para> <para>
Afin de maintenir la synchronization audio/video lors de l'encodage, Afin de maintenir la synchronisation audio/video lors de l'encodage,
<application>MEncoder</application> doit dupliquer ou effacer des images. <application>MEncoder</application> doit dupliquer ou effacer des images.
Cela marche plutôt bien lor du multiplexage dans un fichier AVI Cela marche plutôt bien lor du multiplexage dans un fichier AVI
mais il est pratiquement garanti d'échouer à maintenir la synchronisation A/V mais il est pratiquement garanti d'échouer à maintenir la synchronisation A/V
@ -5241,7 +5250,7 @@ me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \ mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\ vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \ vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable> -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
</screen> </screen>
</para> </para>
@ -5254,7 +5263,7 @@ me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \ mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\ vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \ vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable> -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
</screen> </screen>
</para> </para>
@ -5267,7 +5276,7 @@ me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \ mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:\ vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:\
vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \ vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable> -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
</screen> </screen>
</para> </para>
@ -5280,7 +5289,7 @@ me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \ mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:\ vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:\
vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 \ vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable> -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
</screen> </screen>
</para> </para>

View File

@ -10,7 +10,7 @@ Veuillez le lire d'abord et revenir ensuite ici pour le reste des détails.
</para> </para>
<para> <para>
Dans ce chapitre je vous serez guidé à travers étapes de configuration et de Dans ce chapitre, vous serez guidé à travers étapes de configuration et de
compilation de <application>MPlayer</application>. compilation de <application>MPlayer</application>.
Ce n'est pas facile, mais pas vraiment difficile non plus. Ce n'est pas facile, mais pas vraiment difficile non plus.
Si vous observez un comportement différent de celui de ces explications, Si vous observez un comportement différent de celui de ces explications,
@ -270,7 +270,7 @@ supportant plusieurs encodages.
Décompressez le fichier que vous avez téléchargé dans le répertoire Décompressez le fichier que vous avez téléchargé dans le répertoire
<filename class="directory">~/.mplayer</filename> ou dans <filename class="directory">~/.mplayer</filename> ou dans
<filename class="directory">$PREFIX/share/mplayer</filename>. <filename class="directory">$PREFIX/share/mplayer</filename>.
Ensuite, renommez ou créez un mien symbolique de l'un des répertoires ainsi créés vers Ensuite, renommez ou créez un lien symbolique de l'un des répertoires ainsi créés vers
le sous-repertoire le sous-repertoire
<filename class="directory">font</filename>. Exemple : <filename class="directory">font</filename>. Exemple :
<screen>ln -s <replaceable>~/.mplayer/arial-24</replaceable> ~/.mplayer/font</screen> <screen>ln -s <replaceable>~/.mplayer/arial-24</replaceable> ~/.mplayer/font</screen>
@ -371,7 +371,7 @@ Vous pouvez rendre ce réglagle permanant en ajoutant la seconde commande au fic
le secteur avant de le démarrer semble régler le problème dans la plupart des cas. le secteur avant de le démarrer semble régler le problème dans la plupart des cas.
Avec certaines configurations matérielles (confirmé par l'utilisation de lecteurs DVD ne supportant pas Avec certaines configurations matérielles (confirmé par l'utilisation de lecteurs DVD ne supportant pas
le DMA avec une carte-mère basée sur le chipset ALi1541), l'utilisation du timer RTC rend la lecture le DMA avec une carte-mère basée sur le chipset ALi1541), l'utilisation du timer RTC rend la lecture
irrégulière (NdT: skippy). Il est recommandé d'utiliser la troisième méthode dans ce cas. saccadée (NdT: skippy). Il est recommandé d'utiliser la troisième méthode dans ce cas.
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
<emphasis role="bold">La troisième méthode de synchro</emphasis> est activée par l'option <emphasis role="bold">La troisième méthode de synchro</emphasis> est activée par l'option

View File

@ -340,7 +340,7 @@ Le nom vient du fait que cette méthode encode le fichier
Le premier encodage (du mode deux passes) crée quelques Le premier encodage (du mode deux passes) crée quelques
fichiers temporaires (<filename>*.log</filename>) avec fichiers temporaires (<filename>*.log</filename>) avec
une taille de quelques méga-octets, ne les détruisez pas une taille de quelques méga-octets, ne les détruisez pas
tout de suite (vous pouvez effacer l'AVI ou redirigez le tout de suite (vous pouvez effacer l'AVI ou rediriger le
flux vidéo vers <filename>/dev/null</filename>). flux vidéo vers <filename>/dev/null</filename>).
Lors de la seconde passe, le fichier de sortie est créé, en Lors de la seconde passe, le fichier de sortie est créé, en
utilisant les données bitrate des fichiers temporaires. utilisant les données bitrate des fichiers temporaires.

View File

@ -1,22 +1,25 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- synced with r20417 --> <!-- synced with r26936 -->
<chapter id="ports" xreflabel="Ports"> <chapter id="ports" xreflabel="Ports">
<title>Ports</title> <title>Ports</title>
<sect1 id="linux"> <sect1 id="linux">
<title>Linux</title> <title>Linux</title>
<para> <para>
La plateforme principale de développement est Linux sur x86, bien que La plateforme principale de développement est Linux sur x86, bien que
<application>MPlayer</application> fonctionne sur de nombreux autres ports <application>MPlayer</application> fonctionne sur de nombreux autres ports
Linux. Linux.
Des binaires de <application>MPlayer</application> sont disponibles depuis Des binaires de <application>MPlayer</application> sont disponibles depuis
de nombreuses sources. de nombreuses sources. Par contre, <emphasis role="bold">aucun de ces paquets n'est supporté</emphasis>.
Par contre, <emphasis role="bold">aucun de ces paquets n'est supporté</emphasis>.
Rapportez les problèmes à leurs auteurs, pas à nous. Rapportez les problèmes à leurs auteurs, pas à nous.
</para> </para>
<!-- ********** -->
<sect2 id="debian"> <sect2 id="debian">
<title>Paquets Debian</title> <title>Paquets Debian</title>
<para> <para>
Pour construire le paquet Debian, lancez la commande suivante dans le Pour construire le paquet Debian, lancez la commande suivante dans le
répertoire source de <application>MPlayer</application>: répertoire source de <application>MPlayer</application>:
@ -51,13 +54,15 @@ depuis sa <ulink url="http://www.debian-multimedia.org/">page web</ulink>.
</para> </para>
</sect2> </sect2>
<!-- ********** -->
<sect2 id="rpm"> <sect2 id="rpm">
<title>Paquets RPM</title> <title>Paquets RPM</title>
<para> <para>
Dominik Mierzejewski a créé et maintient des paquets RPM officiels de Dominik Mierzejewski maintient les paquets RPM officiels de
<application>MPlayer</application> pour Red Hat et Fedora Core. <application>MPlayer</application> pour Fedora Core.
Ils sont disponibles sur son Ils sont disponibles sur le <ulink url="http://rpm.greysector.net/mplayer/">dépôt Livna</ulink>.
<ulink url="http://rpm.greysector.net/mplayer/">repository</ulink>.
</para> </para>
<para> <para>
@ -71,8 +76,11 @@ Vous pouvez obtenir des RPMs fonctionnels sur
</para> </para>
</sect2> </sect2>
<!-- ********** -->
<sect2 id="arm"> <sect2 id="arm">
<title>ARM</title> <title>ARM</title>
<para> <para>
<application>MPlayer</application> fonctionne sur les PDAs Linux avec un <application>MPlayer</application> fonctionne sur les PDAs Linux avec un
CPU ARM c-a-d Sharp Zaurus, Compaq Ipaq. La manière CPU ARM c-a-d Sharp Zaurus, Compaq Ipaq. La manière
@ -91,8 +99,13 @@ Si vous avez besoin d'une GUI, vous pouvez utiliser xmms-embedded.
</sect2> </sect2>
</sect1> </sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="bsd"> <sect1 id="bsd">
<title>*BSD</title> <title>*BSD</title>
<para> <para>
<application>MPlayer</application> fonctionne sur toutes les variations <application>MPlayer</application> fonctionne sur toutes les variations
de BSD connues. de BSD connues.
@ -120,9 +133,11 @@ vous devrez recompiler le noyau avec "<envar>option USER_LDT</envar>"
(à moins d'utiliser FreeBSD-CURRENT, où c'est le cas par défaut). (à moins d'utiliser FreeBSD-CURRENT, où c'est le cas par défaut).
</para> </para>
<!-- ********** -->
<sect2 id="freebsd"> <sect2 id="freebsd">
<title>FreeBSD</title> <title>FreeBSD</title>
<para> <para>
Si votre CPU à SSE, recompilez votre noyau avec Si votre CPU à SSE, recompilez votre noyau avec
"<envar>options CPU_ENABLE_SSE</envar>" (FreeBSD-STABLE ou patches noyau "<envar>options CPU_ENABLE_SSE</envar>" (FreeBSD-STABLE ou patches noyau
@ -132,6 +147,7 @@ requis).
<sect2 id="openbsd"> <sect2 id="openbsd">
<title>OpenBSD</title> <title>OpenBSD</title>
<para> <para>
À cause des limitations dans les différentes versions de gas (relocation À cause des limitations dans les différentes versions de gas (relocation
contre MMX), vous aurez besoin de compiler en deux étapes: contre MMX), vous aurez besoin de compiler en deux étapes:
@ -140,19 +156,27 @@ D'abord assurez-vous que le non-natif est en premier dans votre
assurez-vous que la version native est utilisée et faites assurez-vous que la version native est utilisée et faites
<command>gmake</command>. <command>gmake</command>.
</para> </para>
<para> <para>
Depuis OpenBSD 3.4 le hack ci-dessus n'est plus nécessaire. Depuis OpenBSD 3.4 le hack ci-dessus n'est plus nécessaire.
</para> </para>
</sect2> </sect2>
<!-- ********** -->
<sect2 id="darwin"> <sect2 id="darwin">
<title>Darwin</title> <title>Darwin</title>
<para> <para>
Voir la section <link linkend="macos">Mac OS</link>. Voir la section <link linkend="macos">Mac OS</link>.
</para> </para>
</sect2> </sect2>
</sect1> </sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="unix"> <sect1 id="unix">
<title>Unix Commercial</title> <title>Unix Commercial</title>
@ -164,8 +188,11 @@ ont tendances à être différent de ceux trouvé sur les Unix libres, vous devr
peut-être faire quelques ajustements manuels pour que le build fonctionne. peut-être faire quelques ajustements manuels pour que le build fonctionne.
</para> </para>
<!-- ********** -->
<sect2 id="solaris"> <sect2 id="solaris">
<title>Solaris</title> <title>Solaris</title>
<para> <para>
<application>MPlayer</application> devrait fonctionner sous Solaris 2.6 <application>MPlayer</application> devrait fonctionner sous Solaris 2.6
ou supérieur. ou supérieur.
@ -188,18 +215,17 @@ installé.
<para><emphasis role="bold">Attention :</emphasis></para> <para><emphasis role="bold">Attention :</emphasis></para>
<itemizedlist> <itemizedlist>
<listitem><para><emphasis role="bold">mediaLib</emphasis> est <listitem><para>
<emphasis role="bold">actuellement désactivé</emphasis> par défaut dans <emphasis role="bold">mediaLib</emphasis> est
<application>MPlayer</application>. Les utilisateurs SPARC <emphasis role="bold">actuellement désactivé</emphasis> par défaut dans
<application>MPlayer</application> pour cause d'inconsistance. Les utilisateurs SPARC
qui ont construit MPlayer avec le support mediaLib ont reporté une qui ont construit MPlayer avec le support mediaLib ont reporté une
forte coloration verte sur les vidéo encodées et décodées avec forte coloration verte sur les vidéo encodées et décodées avec
libavcodec. libavcodec.
Si vous le désirez, vous pouver activer mediaLib avec: Si vous le désirez, vous pouvez activer mediaLib avec:
<screen> <screen>./configure --enable-mlib</screen>
$ ./configure --enable-mlib
</screen>
Ceci est à vos risques et périls. Les utilisateurs x86 ne doivent Ceci est à vos risques et périls. Les utilisateurs x86 ne doivent
<emphasis role="bold">pas</emphasis> utiliser mediaLib, cela <emphasis role="bold">jamais</emphasis> utiliser mediaLib, puisque cela
déteriorerait les performances de MPlayer de manière importante. déteriorerait les performances de MPlayer de manière importante.
</para></listitem> </para></listitem>
</itemizedlist> </itemizedlist>
@ -211,8 +237,8 @@ make natif de Solaris ne fonctionnera pas.
Message d'erreur typique si vous utilisez le make de Solaris au lieu de Message d'erreur typique si vous utilisez le make de Solaris au lieu de
celui de GNU: celui de GNU:
<screen> <screen>
% /usr/ccs/bin/make % /usr/ccs/bin/make
make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
</screen> </screen>
</para> </para>
@ -288,14 +314,11 @@ antérieures à Solaris Nevada b31. Ceci a été réparé par Sun pour
Solaris Nevada b32 mais pas encore pour Solaris 10. Le Projet MPlayer Solaris Nevada b32 mais pas encore pour Solaris 10. Le Projet MPlayer
a averti Sun de ce problème. Un patch pour Solaris 10 est actuellement en a averti Sun de ce problème. Un patch pour Solaris 10 est actuellement en
développement. Plus d'information sont disponibles à l'adresse développement. Plus d'information sont disponibles à l'adresse
suivante : suivante : <ulink url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>.
<ulink </para></listitem>
url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>.
</para>
</listitem>
<listitem><para> <listitem><para>
A cause de bogues dans Solaris 8, il se peut que vous ne pouviez pas lire A cause de bogues dans Solaris 8, il se peut que vous ne puissiez pas lire
de disques DVD plus gros que 4 Go: de disques DVD plus gros que 4 Go:
</para> </para>
@ -324,39 +347,41 @@ Le problème hsfs peut être résolu en installant le patch 109764-04 (sparc)
</itemizedlist> </itemizedlist>
</sect2> </sect2>
<!-- ********** -->
<sect2 id="irix"> <sect2 id="irix">
<title>IRIX</title> <title>IRIX</title>
<para> <para>
Vous pouvez soit essayer d'installer le programme d'installation GNU, et Vous pouvez soit essayer d'installer le programme d'installation GNU, et
(si vous ne l'avez pas mis dans votre chemin par défaut) précisez ensuite (si vous ne l'avez pas mis dans votre chemin par défaut) précisez ensuite
l'endroit où il est: l'endroit où il est:
<screen>./configure --with-install=<replaceable>/chemin/et/nom/de/l'installation</replaceable></screen> <screen>
./configure --with-install=<replaceable>/chemin/et/nom/de/l'installation</replaceable>
</screen>
</para> </para>
<para> <para>
Soit vous pouvez utilisez l'installation par défaut livrée avec IRIX 6.5, Soit vous pouvez utilisez l'installation par défaut livrée avec IRIX 6.5,
auquel cas vous devrez éditer le <filename>Makefile</filename> auquel cas vous devrez éditer le <filename>Makefile</filename>
manuellement. manuellement.
Changez les deux lignes suivantes: Changez la ligne suivante :
<programlisting> <programlisting>
$(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1 $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
$(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
</programlisting> </programlisting>
par: par:
<programlisting> <programlisting>
$(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/ $(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
$(INSTALL) -m 644 codecs.conf $(CONFDIR)/
</programlisting> </programlisting>
Et ensuite faites (depuis le rép. source de <application>MPlayer</application>): Finalement, lancez la construction et l'installation.
<screen>cp DOCS/mplayer.1 . ; cp etc/codecs.conf .</screen>
finalement lancez la construction et l'installation.
</para> </para>
</sect2> </sect2>
<!-- ********** -->
<sect2 id="hp-ux"> <sect2 id="hp-ux">
<title>HP UX</title> <title>HP UX</title>
<para> <para>
Joe Page héberge un Joe Page héberge un
<ulink url="http://users.rcn.com/joepage/mplayer_on_hpux11.htm">HOWTO</ulink> <ulink url="http://users.rcn.com/joepage/mplayer_on_hpux11.htm">HOWTO</ulink>
@ -373,13 +398,12 @@ GCC sont boguées.
Pour la fonctionnalité OpenGL vous aurez besoin d'installer Mesa et les Pour la fonctionnalité OpenGL vous aurez besoin d'installer Mesa et les
pilotes de sortie vidéo gl et gl2 devraient marcher, la vitesse pouvant en pilotes de sortie vidéo gl et gl2 devraient marcher, la vitesse pouvant en
être très affecté, dépendamment de la vitesse du CPU. être très affecté, dépendamment de la vitesse du CPU.
Un bon substitut au pauvre système son natif de HP-UX est GNU esound. Une bonne alternative au pauvre système son natif de HP-UX est GNU esound.
</para> </para>
<para> <para>
Créer le périphérique DVD Créer le périphérique DVD
scanne le bus SCSI avec: scanne le bus SCSI avec:
</para>
<screen> <screen>
# ioscan -fn # ioscan -fn
@ -397,29 +421,19 @@ ctl <emphasis role="bold">1</emphasis> 8/16/5.7.0 sctl CLAIMED DEVICE
... ...
</screen> </screen>
<para>
La sortie d'écran montre un lecteur DVD-ROM Pioneer à l'adresse SCSI 2. La sortie d'écran montre un lecteur DVD-ROM Pioneer à l'adresse SCSI 2.
L'instance de la carte pour le chemin hardware 8/16 est 1. L'instance de la carte pour le chemin hardware 8/16 est 1.
</para> </para>
<para> <para>
Créer un lien depuis le prériphérique brut vers le périphérique DVD. Créer un lien depuis le prériphérique brut vers le périphérique DVD.
</para>
<screen> <screen>
# ln -s /dev/rdsk/c<replaceable>&lt;SCSI bus instance&gt;</replaceable>t ln -s /dev/rdsk/c<replaceable>&lt;SCSI bus instance&gt;</replaceable>t<replaceable>&lt;SCSI target ID&gt;</replaceable>d<replaceable>&lt;LUN&gt;</replaceable> /dev/<replaceable>&lt;device&gt;</replaceable>
<replaceable>&lt;SCSI target ID&gt;</replaceable>d<replaceable>&lt;LUN&gt;</replaceable>
/dev/<replaceable>&lt;device&gt;</replaceable>
</screen> </screen>
<para>
Exemple: Exemple:
<screen>ln -s /dev/rdsk/c1t2d0 /dev/dvd</screen>
</para> </para>
<screen>
# ln -s /dev/rdsk/c1t2d0 /dev/dvd
</screen>
<para> <para>
Ci-dessous sont exposées les solutions pour certains problèmes communs: Ci-dessous sont exposées les solutions pour certains problèmes communs:
</para> </para>
@ -484,8 +498,11 @@ suffisante ou non.)
</sect2> </sect2>
<!-- ********** -->
<sect2 id="aix"> <sect2 id="aix">
<title>AIX</title> <title>AIX</title>
<para> <para>
<application>MPlayer</application> se compile parfaitement sous AIX 5.1, <application>MPlayer</application> se compile parfaitement sous AIX 5.1,
5.2 et 5.3, en utilisant GCC 3.3 ou plus. 5.2 et 5.3, en utilisant GCC 3.3 ou plus.
@ -516,12 +533,12 @@ Les architectures suivantes ont été testé:
<para> <para>
Les architectures suivantes n'ont pas été testé, mais devraient quand Les architectures suivantes n'ont pas été testé, mais devraient quand
même marcher: même marcher:
</para>
<itemizedlist> <itemizedlist>
<listitem><para>POWER</para></listitem> <listitem><para>POWER</para></listitem>
<listitem><para>POWER2</para></listitem> <listitem><para>POWER2</para></listitem>
<listitem><para>POWER5</para></listitem> <listitem><para>POWER5</para></listitem>
</itemizedlist> </itemizedlist>
</para>
<para> <para>
Le son à travers les Services Ultimedia n'est pas supporté, comme Ultimedia a Le son à travers les Services Ultimedia n'est pas supporté, comme Ultimedia a
@ -537,10 +554,9 @@ role="bold">MPlayer ne produit pas de son sous AIX 5.2 et 5.3.</emphasis>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Si vous rencontrez ce message d'erreur de Si vous rencontrez ce message d'erreur de <filename>configure</filename> :
<filename>configure</filename> :
<screen> <screen>
$./configure $ ./configure
... ...
Checking for iconv program ... no Checking for iconv program ... no
No working iconv program found, use No working iconv program found, use
@ -560,6 +576,10 @@ $ ./configure --charset=noconv
</sect2> </sect2>
</sect1> </sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="windows"> <sect1 id="windows">
<title>Windows</title> <title>Windows</title>
@ -598,63 +618,41 @@ Ajoutez <option>-fs</option> pour le mode plein écran.
pour compiler le pilote de sortie vidéo DirectX. De plus vous devez pour compiler le pilote de sortie vidéo DirectX. De plus vous devez
avoir DirectX 7 ou supérieur pour que ce pilote fonctionne.</para> avoir DirectX 7 ou supérieur pour que ce pilote fonctionne.</para>
<para><link linkend="vidix">VIDIX</link> fonctionne maintenant sous Windows <para>
avec <option>-vo winvidix</option>, bien que ce soit toujours expérimental <link linkend="vidix">VIDIX</link> fonctionne maintenant sous Windows avec
et que cela requiert une configuration manuelle. Téléchargez <option>-vo winvidix</option>, bien que ce soit toujours expérimental
et que cela requiert une configuration manuelle. Téléchargez
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> ou <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> ou
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (avec support des MTRR)</ulink> <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (avec support des MTRR)</ulink>
et copiez le dans le répertoire et copiez le dans le répertoire
<filename class="directory">libdha/dhahelperwin</filename> de votre arborescence <filename class="directory">libdha/dhahelperwin</filename> de votre arborescence
<application>MPlayer</application>. <application>MPlayer</application>.
Ouvrez une console et placez-vous dans ce répertoire. Ensuite tapez Ouvrez une console et tapez
<screen>make install-dhahelperwin</screen>
<screen>gcc -o dhasetup.exe dhasetup.c</screen> en tant qu'Administrateur. Ensuite vous devez rebooter.
</para>
et exécutez
<screen>dhasetup.exe install</screen>
en tant qu'Administrateur. Ensuite vous devez rebooter. Lorsque c'est
fait, copiez les fichiers <systemitem class="library">.so</systemitem>
de <filename class="directory">vidix/drivers</filename> dans le répertoire
<filename class="directory">mplayer/vidix</filename> relatif à votre
<filename>mplayer.exe</filename>.</para>
<para>Pour de meilleurs résultats <application>MPlayer</application> devrait <para>Pour de meilleurs résultats <application>MPlayer</application> devrait
utiliser une palette que votre carte graphique supporte de façon matérielle. utiliser une palette que votre carte graphique supporte de façon matérielle.
Malheureusement, de nombreux pilotes graphiques Windows renvoient certaines Malheureusement, de nombreux pilotes graphiques Windows renvoient certaines palettes alors que la carte ne le supporte pas. Pour le vérifier, essayez
palettes alors que la carte ne le supporte pas. Pour le vérifier, essayez <screen>
mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>palette</replaceable> <replaceable>film</replaceable>
<screen>mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>palette</replaceable> <replaceable>film</replaceable></screen> </screen>
<replaceable>palette</replaceable> peut être n'importe quelle palette <replaceable>palette</replaceable> peut être n'importe quelle palette
affichée par l'option <option>-vf format=fmt=help</option>. Si vous affichée par l'option <option>-vf format=fmt=help</option>. Si vous
trouvez une palette que votre carte gère particulièrement mal, trouvez une palette que votre carte gère particulièrement mal,
<option>-vf noformat=<replaceable>palette</replaceable></option> <option>-vf noformat=<replaceable>palette</replaceable></option>
l'empèchera d'être utilisée. Ajouter cela à votre fichier de conf pour l'empèchera d'être utilisée. Ajouter cela à votre fichier de conf pour
ne plus l'utiliser de façon permanente.</para> ne plus l'utiliser de façon permanente.
</para>
<para>
There are special codec packages for Windows available on our
<ulink url="http://www.mplayerhq.hu/design7/codecs.html">codecs page</ulink>
to allow playing formats for which there is no native support yet.
Put the codecs somewhere in your path or pass
<option>--codecsdir=<replaceable>c:/path/to/your/codecs</replaceable></option>
(alternatively
<option>--codecsdir=<replaceable>/path/to/your/codecs</replaceable></option>
only on <application>Cygwin</application>) to <filename>configure</filename>.
We have had some reports that Real DLLs need to be writable by the user
running <application>MPlayer</application>, but only on some systems (NT4).
Try making them writable if you have problems.</para>
<para> <para>
Il y a des paquetages de codec spécial pour Windows disponible sur notre Il y a des paquetages de codec spécial pour Windows disponible sur notre
<ulink url="http://www.mplayerhq.hu/design7/codecs.html">page de codecs</ulink> <ulink url="http://www.mplayerhq.hu/design7/codecs.html">page de codecs</ulink>
pour permettre de jouer les formats qui ne sont pas encore nativement pour permettre de jouer les formats qui ne sont pas encore nativement
supportés. supportés.
Placez les codecs quelque part dans votre patch ou passez Placez les codecs quelque part dans votre path ou passez
<option>--codecsdir=<replaceable>c:/chemin/de/vos/codecs</replaceable></option> <option>--codecsdir=<replaceable>c:/chemin/de/vos/codecs</replaceable></option>
(éventuellement (éventuellement
<option>--codecsdir=<replaceable>/chemin/de/vos/codecs</replaceable></option> <option>--codecsdir=<replaceable>/chemin/de/vos/codecs</replaceable></option>
@ -666,40 +664,31 @@ accessibles en écriture pour l'utilisateur ayant lancé
Essayez de les rendre accessibles en écriture si vous avez des problèmes. Essayez de les rendre accessibles en écriture si vous avez des problèmes.
</para> </para>
<para>Vous pouvez lire des VCDs en jouant les fichiers <para>
Vous pouvez lire des VCDs en jouant les fichiers
<filename>.DAT</filename> ou <filename>.MPG</filename> que Windows affiche <filename>.DAT</filename> ou <filename>.MPG</filename> que Windows affiche
sur les VCDs. Cela fonctionne tout simplement comme cela (changez la lettre sur les VCDs. Cela fonctionne tout simplement comme cela (changez la lettre
de votre lecteur de CD-ROM):</para> de votre lecteur de CD-ROM):
<screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen> <screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>
Vous pouvez aussi lire une piste VCD directement en utilisant :
<para>Les DVDs fonctionnent également, ajustez <option>-dvd-device</option> <screen> mplayer vcd://<replaceable>&lt;track&gt;</replaceable> -cdrom-device <replaceable>d:</replaceable></screen>
à la lettre de votre lecteur DVD-ROM:</para> Les DVDs fonctionnent également, ajustez <option>-dvd-device</option> à la lettre de votre lecteur DVD-ROM :
<screen>mplayer dvd://<replaceable>&lt;titre&gt;</replaceable> -dvd-device <replaceable>d</replaceable>:</screen> <screen>mplayer dvd://<replaceable>&lt;titre&gt;</replaceable> -dvd-device <replaceable>d</replaceable>:</screen>
La console <application>Cygwin</application>/<application>MinGW</application>
<para>La console <application>Cygwin</application>/<application>MinGW</application> est plutôt lente. Il semble que rediriger la sortie ou utiliser l'option
est plutôt lente. Il semble que rediriger la sortie <option>-quiet</option> améliore les performances. Le rendu direct
ou utiliser l'option <option>-quiet</option> améliore les performances. Le (<option>-dr</option>) peut également aider. Si la lecture est erratique,
rendu direct (<option>-dr</option>) peut également aider. essayez <option>-autosync 100</option>. Si certaines de ces options vous sont
Si la lecture est erratique, essayez utiles, vous pouvez les placer dans votre fichier de config.
<option>-autosync 100</option>. Si certaines de ces options vous sont utiles,
vous pouvez les placer dans votre fichier de config.</para>
<note>
<para>Sous Windows la détection CPU en cours d'execution (runtime CPU detection)
désactive le support SSE en raison de plantages récurrent et dur à tracer liés au SSE.
Si vous souhaitez avoir le support SSE sous Windows, vous devrez compiler sans
runtime CPU detection.
</para> </para>
<note>
<para>Si vous avez un Pentium 4 et que vous expériencez un plantage lors de l'utilisation <para>Si vous avez un Pentium 4 et que vous expériencez un plantage lors de l'utilisation
des codecs RealPlayer vous pourriez vouloir désactiver le support hyperthreading. des codecs RealPlayer vous pourriez vouloir désactiver le support hyperthreading.
</para> </para>
</note> </note>
<!-- ********** -->
<sect2 id="cygwin"> <sect2 id="cygwin">
<title><application>Cygwin</application></title> <title><application>Cygwin</application></title>
@ -722,6 +711,7 @@ peuvent être trouvés sur le
</sect2> </sect2>
<!-- ********** -->
<sect2 id="mingw"> <sect2 id="mingw">
<title><application>MinGW</application></title> <title><application>MinGW</application></title>
@ -747,10 +737,12 @@ et les librairies nécessaires sont disponibles sur
MinGW HOWTO</ulink>.</para> MinGW HOWTO</ulink>.</para>
</sect2> </sect2>
</sect1> </sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="macos"> <sect1 id="macos">
<title>Mac OS</title> <title>Mac OS</title>
@ -809,8 +801,12 @@ Vous pouvez ensuite lancer le script
avec MacPorts): avec MacPorts):
<screen>PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure</screen> <screen>PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure</screen>
</para> </para>
<!-- ********** -->
<sect2 id="osx_gui"> <sect2 id="osx_gui">
<title>MPlayer OS X GUI</title> <title>MPlayer OS X GUI</title>
<para> <para>
Vous pouvez obtenir un GUI natif et un binaire pré-compilé de Vous pouvez obtenir un GUI natif et un binaire pré-compilé de
<application>MPlayer</application> pour Mac OS X depuis le projet <application>MPlayer</application> pour Mac OS X depuis le projet
@ -852,37 +848,33 @@ mettre en place quelque chose comme ceci:
<screen> <screen>
MPlayer_repertoire_source MPlayer_repertoire_source
| |
|---&gt;main (source SVN de MPlayer) |--->main (source SVN de MPlayer)
| |
|---&gt;main_noaltivec (source SVN de MPlayer configuré avec --disable-altivec) |--->main_noaltivec (source SVN de MPlayer configuré avec --disable-altivec)
| |
|---&gt;mplayerosx (source SVN MPlayerOSX) \--->mplayerosx (source SVN MPlayerOSX)
</screen> </screen>
Premièrement vous avez besoin de compiler main et main_noaltivec. Premièrement vous avez besoin de compiler main et main_noaltivec.
</para> </para>
<para> <para>
Ensuite, réglez une variable globale: Pour assurer une rétro compatibilité maximum, commencez par créer la variable d'environnement suivante :
<screen>export MACOSX_DEPLOYMENT_TARGET=10.3</screen> <screen>export MACOSX_DEPLOYMENT_TARGET=10.3</screen>
</para> </para>
<para> <para>
Et, configure: Et, configurez:
</para> </para>
<para> <para>
Si vous configurez pour un CPU G4 ou au-dessus avec le support AltiVec, Si vous configurez pour un CPU G4 (ou plus récent) avec le support AltiVec,
faire comme suit: faites comme suit :
<screen> <screen>
./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11 ./configure --disable-gl --disable-x11
</screen> </screen>
Si vous configurez pour un G3, faire comme suit: Si vous configurez pour un G3 sans le support AltiVec, faites comme suit :
<screen> <screen>
./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11 ./configure --disable-gl --disable-x11 --disable-altivec
--disable-altivec
</screen> </screen>
Vous pourriez avoir besoin d'éditer <filename>config.mak</filename> et Vous pourriez avoir besoin d'éditer <filename>config.mak</filename> et
changer le changer le
@ -892,14 +884,9 @@ changer le
<para> <para>
Continuez avec Continuez avec
<screen> <screen>make</screen>
make
</screen>
ensuite placez vous dans le répertoire mplayerosx et tapez ensuite placez vous dans le répertoire mplayerosx et tapez
<screen>make dist</screen>
<screen>
make dist
</screen>
Cela créera une archive compressée <systemitem>.dmg</systemitem> avec le binaire Cela créera une archive compressée <systemitem>.dmg</systemitem> avec le binaire
prêt à l'emploi. prêt à l'emploi.
</para> </para>
@ -912,6 +899,10 @@ du tout en fonction.
</sect2> </sect2>
</sect1> </sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="exotic_platforms"> <sect1 id="exotic_platforms">
<title>Plateformes Exotiques</title> <title>Plateformes Exotiques</title>
@ -923,8 +914,11 @@ Pour les instructions de build vous devriez vous référer à la documentation
spécifique du système. spécifique du système.
</para> </para>
<!-- ********** -->
<sect2 id="qnx"> <sect2 id="qnx">
<title>QNX</title> <title>QNX</title>
<para> <para>
Vous aurez besoin de télécharger et installer SDL pour QNX. Puis de lancer Vous aurez besoin de télécharger et installer SDL pour QNX. Puis de lancer
<application>MPlayer</application> avec les options <option>-vo sdl:driver=photon</option> et <application>MPlayer</application> avec les options <option>-vo sdl:driver=photon</option> et
@ -938,6 +932,8 @@ très lente.
</para> </para>
</sect2> </sect2>
<!-- ********** -->
<sect2 id="amiga"> <sect2 id="amiga">
<title>Amiga/MorphOS (GeekGadgets)</title> <title>Amiga/MorphOS (GeekGadgets)</title>
<para> <para>

View File

@ -8,11 +8,11 @@
<para> <para>
<application>MPlayer</application> utilise un ordre de lecture complexe. <application>MPlayer</application> utilise un ordre de lecture complexe.
Il consiste en les options globales écrites en premier, par exemple Les options globales sont écrites en premier, par exemple
<screen>mplayer -vfm 5</screen> <screen>mplayer -vfm 5</screen>
et les options écrites après les noms de fichier, qui s'appliquent et les options écrites après les noms de fichier s'appliquent
uniquement au nom de fichier/URL/autre donné, par exemple uniquement au nom de fichier/URL/autre donné, par exemple
<screen>mplayer -vfm 5 <replaceable>film1.avi</replaceable> <replaceable>film2.avi</replaceable> -vfm 4</screen> <screen>mplayer -vfm 5 <replaceable>film1.avi</replaceable> <replaceable>film2.avi</replaceable> -vfm 4</screen>
@ -386,8 +386,8 @@ depuis le réseau:
<sect2 id="streaming-save"> <sect2 id="streaming-save">
<title>Sauvegarder du contenu flux</title> <title>Sauvegarder du contenu flux</title>
<para> <para>
Une fois que vous avez réussi à faire <application>MPlayer</application> lire Une fois que vous avez réussi à faire lire
votre flux internet favorit, vous pouvez utiliser l'option votre flux internet favorit par <application>MPlayer</application>, vous pouvez utiliser l'option
<option>-dumpstream</option> pour sauvegarder le flux dans un fichier. <option>-dumpstream</option> pour sauvegarder le flux dans un fichier.
Par exemple: Par exemple:
<screen> <screen>
@ -579,15 +579,15 @@ explication.
Les DVDs ont habituellement l'audio surround encodé en format AC-3 (Dolby Digital) ou DTS Les DVDs ont habituellement l'audio surround encodé en format AC-3 (Dolby Digital) ou DTS
(Digital Theater System). Certains équipements audio moderne sont capables de (Digital Theater System). Certains équipements audio moderne sont capables de
décoder ces formats de façon interne. <application>MPlayer</application> peut être décoder ces formats de façon interne. <application>MPlayer</application> peut être
configuré pour relayer les données audio sans le décodé. Cela ne marchera que si configuré pour relayer les données audio sans les décoder. Cela ne marchera que si
vous avez you have une connectique S/PDIF (Sony/Philips Digital Interface) sur vous avez une connectique S/PDIF (Sony/Philips Digital Interface) sur
votre carte son. votre carte son.
</para> </para>
<para> <para>
Si votre équipement audio peux décoder AC-3 et DTS, vous pouvez sans risque activer Si votre équipement audio peux décoder AC-3 et DTS, vous pouvez sans risque activer
le passthrough pour les deux formats. Autrement, activez le passthrough pour le seul format le passthrough pour les deux formats. Autrement, activez le passthrough pour le seul format
votre équipement supporte. que votre équipement supporte.
</para> </para>
<itemizedlist> <itemizedlist>
@ -853,11 +853,11 @@ trouver la bonne valeur. Par exemple:
<sect3 id="advaudio-channels-copying"> <sect3 id="advaudio-channels-copying">
<title>Copié/Déplacé le canal</title> <title>Copier/Déplacer le canal</title>
<para> <para>
Le filtre <option>channels</option> peut déplacer n'importe lequel ou tous les canaux. Le filtre <option>channels</option> peut déplacer n'importe lequel ou tous les canaux.
Parametré toutes les sous-options pour le filtre <option>channels</option> Parametrer toutes les sous-options pour le filtre <option>channels</option>
peut être compliqué et prend peu d'attention. peut être compliqué et prend peu d'attention.
<orderedlist spacing="compact"> <orderedlist spacing="compact">

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- synced with r26711 --> <!-- synced with r26925 -->
<chapter id="encoding-guide"> <chapter id="encoding-guide">
<title>Kódolás a <application>MEncoder</application>rel</title> <title>Kódolás a <application>MEncoder</application>rel</title>
@ -2134,7 +2134,7 @@ felépítéséhez (ennek vannak hátrányai - lásd a 3. módszert).
választhatsz, mindegyiknek megvan a maga előnye és hátránya. választhatsz, mindegyiknek megvan a maga előnye és hátránya.
Lásd az <option>mplayer -pphelp</option> és az Lásd az <option>mplayer -pphelp</option> és az
<option>mplayer -vf help</option> kimenetét, hogy megtudd, mit <option>mplayer -vf help</option> kimenetét, hogy megtudd, mit
használhatsz (grep-pelj a "deint"-re), olvasd el Michael's Niedermayer használhatsz (grep-pelj a "deint"-re), olvasd el Michael Niedermayer
<ulink url="http://guru.multimedia.cx/deinterlacing-filters/">Deinterlacing szűrő összehasonlítását</ulink>, <ulink url="http://guru.multimedia.cx/deinterlacing-filters/">Deinterlacing szűrő összehasonlítását</ulink>,
és keress az és keress az
<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html"> <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- synced with r25771 --> <!-- synced with r26936 -->
<chapter id="ports" xreflabel="Ports"> <chapter id="ports" xreflabel="Ports">
<title>Portok</title> <title>Portok</title>
@ -602,12 +602,10 @@ van és egy kis kézi állítgatás kell hozzá. Töltsd le a
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> vagy <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> vagy
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (MTRR támogatással)</ulink> <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (MTRR támogatással)</ulink>
fájlt és másold be a <filename class="directory">vidix/dhahelperwin</filename> könyvtárba fájlt és másold be a <filename class="directory">vidix/dhahelperwin</filename> könyvtárba
az <application>MPlayer</application> forrás fádban. Nyisd meg a konzolt az <application>MPlayer</application> forrás fádban.
és válts át erre a könyvtárra, majd írd be Nyisd meg a konzolt és írd be:
<screen>gcc -o dhasetup.exe dhasetup.c</screen> <screen>make install-dhahelperwin</screen>
és futtasd adminisztrátorként. Ezután újra kell indítanod a gépet.
<screen>dhasetup.exe install</screen>
Adminisztrátorként. Ezután újra kell indítanod a gépet.
</para> </para>
<para> <para>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- synced with r26073 --> <!-- synced with r26914 -->
<chapter id="video"> <chapter id="video">
<title>Videó kimeneti eszközök</title> <title>Videó kimeneti eszközök</title>
@ -862,15 +862,14 @@ Ezen vezérlő Linux 2.6.x alatti verziója itt található:
<procedure> <procedure>
<title>Telepítés:</title> <title>Telepítés:</title>
<step><para> <step><para>
A használatához először <filename>mga_vid.o</filename>-t kell forgatnod: A használatához először le kell fordítanod a <filename>drivers/mga_vid.o</filename> fájt:
<screen> <screen>
cd drivers make drivers<!--
make<!--
--></screen> --></screen>
</para></step> </para></step>
<step><para> <step><para>
Ezután futtasd (<systemitem class="username">root</systemitem>-ként) a Ezután futtasd (<systemitem class="username">root</systemitem>-ként) a
<screen>make install</screen> <screen>make install-drivers</screen>
parancsot, ami telepíti a modult és létrehozza az eszköz node-ját neked. parancsot, ami telepíti a modult és létrehozza az eszköz node-ját neked.
Töltsd be a vezérlőt Töltsd be a vezérlőt
<screen>insmod mga_vid.o</screen> <screen>insmod mga_vid.o</screen>
@ -950,14 +949,13 @@ az alábbi utasítások alapján.
<procedure> <procedure>
<title>A tdfx_vid.o kernel modul telepítése:</title> <title>A tdfx_vid.o kernel modul telepítése:</title>
<step><para> <step><para>
Fordítsd le a <filename>tdfx_vid.o</filename> fájlt: Fordítsd le a <filename>drivers/tdfx_vid.o</filename> fájlt:
<screen> <screen>
cd drivers make drivers</screen>
make</screen>
</para></step> </para></step>
<step><para> <step><para>
Ezután futtasd (<systemitem class="username">root</systemitem>-ként) a Ezután futtasd (<systemitem class="username">root</systemitem>-ként) a
<screen>make install</screen> <screen>make install-drivers</screen>
parancsot, ami telepíti a modult és létrehozza az eszköz node-ját neked. parancsot, ami telepíti a modult és létrehozza az eszköz node-ját neked.
Töltsd be a vezérlőt Töltsd be a vezérlőt
<screen>insmod tdfx_vid.o</screen> <screen>insmod tdfx_vid.o</screen>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- 38% synced with r22753 (row 2069) --> <!-- 41% synced with r22753 (row 2212) -->
<chapter id="encoding-guide"> <chapter id="encoding-guide">
<title>La codifica con <application>MEncoder</application></title> <title>La codifica con <application>MEncoder</application></title>
@ -978,9 +978,6 @@ perciò potresti voler comunque effettuare il ridimensionamento.
<title>Scegliere la risoluzione e il bitrate</title> <title>Scegliere la risoluzione e il bitrate</title>
<para> <para>
Other parameters such as scaling, cropping, etc. will
<emphasis role="bold">not</emphasis> alter the file size unless you
change the bitrate as well!.
A meno che tu non stia per codificare con quantizzazione costante devi A meno che tu non stia per codificare con quantizzazione costante devi
impostare un bitrate. impostare un bitrate.
La logica del bitrate è abbastanza semplice. La logica del bitrate è abbastanza semplice.
@ -2067,21 +2064,22 @@ il pattern del telecine.
<!-- ********** --> <!-- ********** -->
<sect2 id="menc-feat-telecine-encode"> <sect2 id="menc-feat-telecine-encode">
<title>How to encode each category</title> <title>Come codificare ciascuna categoria</title>
<para> <para>
As I mentioned in the beginning, example <application>MEncoder</application> Come menzionato all'inizio, le linee di esempio qui sotto per
lines below are <emphasis role="bold">not</emphasis> meant to actually be used; <application>MEncoder</application> <emphasis role="bold">non</emphasis> sono
they only demonstrate the minimum parameters to properly encode each category. pensate per essere usate davvero; dimostrano solamente i parametri minimi per
codificare correttamente ciascuna categoria.
</para> </para>
<sect3 id="menc-feat-telecine-encode-progressive"> <sect3 id="menc-feat-telecine-encode-progressive">
<title>Progressive</title> <title>Progressivo</title>
<para> <para>
Progressive video requires no special filtering to encode. The only Il video progressivo non richiede particolari filtri per la codifica. L'unico
parameter you need to be sure to use is <option>-ofps 24000/1001</option>. parametrioche devi assicurarti di usare è <option>-ofps 24000/1001</option>.
Otherwise, <application>MEncoder</application> Se non lo usi, <application>MEncoder</application> cercherà di codificare a
will try to encode at 30000/1001 fps and will duplicate frames. 30000/1001 fps e duplicherà i fotogrammi.
</para> </para>
<para> <para>
@ -2089,108 +2087,105 @@ will try to encode at 30000/1001 fps and will duplicate frames.
</para> </para>
<para> <para>
It is often the case, however, that a video that looks progressive Spesso e volentieri capita che un video che sembra progressivo contenga anche
actually has very short parts of telecine mixed in. Unless you are alcune brevi parti di telecine miscelate. A meno che tu non sia sicuro,
sure, it is safest to treat the video as conviene trattare il video come
<link linkend="menc-feat-telecine-encode-mixedpt">mixed progressive and telecine</link>. <link linkend="menc-feat-telecine-encode-mixedpt">progressivo e telecine miscelati</link>.
The performance loss is small Il calo di prestazioni è piccolo
<link linkend="menc-feat-telecine-footnotes">[3]</link>. <link linkend="menc-feat-telecine-footnotes">[3]</link>.
</para> </para>
</sect3> </sect3>
<sect3 id="menc-feat-telecine-encode-telecined"> <sect3 id="menc-feat-telecine-encode-telecined">
<title>Telecined</title> <title>Telecine</title>
<para> <para>
Telecine can be reversed to retrieve the original 24000/1001 content, Il telecine può essere invertito per ricavare il contenuto originario a
using a process called inverse-telecine. 24000/1001 usando un processo conosciuto come telecine-inverso.
<application>MPlayer</application> contains several filters to <application>MPlayer</application> include vari filtri per ottenere ciò;
accomplish this; the best filter, <option>pullup</option>, is described il filtro migliore, <option>pullup</option>, è descritto nella sezione
in the <link linkend="menc-feat-telecine-encode-mixedpt">mixed <link linkend="menc-feat-telecine-encode-mixedpt">progressivo e telecine
progressive and telecine</link> section. miscelati</link>.
</para> </para>
</sect3> </sect3>
<sect3 id="menc-feat-telecine-encode-interlaced"> <sect3 id="menc-feat-telecine-encode-interlaced">
<title>Interlaced</title> <title>Interlacciato</title>
<para> <para>
For most practical cases it is not possible to retrieve a complete Nella maggior parte dei casi reali non è possibile ricavare un video
progressive video from interlaced content. The only way to do so progressivo completo da contenuto interlacciato. L'unico modo di farlo senza
without losing half of the vertical resolution is to double the perdere metà della risoluzione verticale è raddoppiare il framerate e provare
framerate and try to "guess" what ought to make up the ad "indovinare" quello che forma le linee corrispondenti per ogni campo
corresponding lines for each field (this has drawbacks - see method 3). (questo ha delle controindicazioni - vedi il metodo 3).
</para> </para>
<orderedlist> <orderedlist>
<listitem><para> <listitem><para>
Encode the video in interlaced form. Normally, interlacing wreaks Codifica il video in forma interlacciata. Normalmente l'interlacciatura fa a
havoc with the encoder's ability to compress well, but pugni con l'abilità del codificatore di comprimere bene, ma
<systemitem class="library">libavcodec</systemitem> has two <systemitem class="library">libavcodec</systemitem> ha due parametri
parameters specifically for dealing with storing interlaced video a appositamente per gestire un pochino meglio il video interlacciato:
bit better: <option> ildct</option> and <option>ilme</option>. Also, <option>ildct</option> e <option>ilme</option>. Inoltre viene caldamente
using <option>mbd=2</option> is strongly recommended consigliato l'utilizzo di <option>mbd=2</option>
<link linkend="menc-feat-telecine-footnotes">[2] </link> because it <link linkend="menc-feat-telecine-footnotes">[2] </link> poiché
will encode macroblocks as non-interlaced in places where there is codificherà i macroblocchi come non interlacciati in posti dove non c'è
no motion. Note that <option>-ofps</option> is NOT needed here. movimento. Nota che <option>-ofps</option> qui NON serve.
<screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen> <screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
Use a deinterlacing filter before encoding. There are several of Usa un filtro di de-interlacciatura prima della codifica. Ci sono vari filtri
these filters available to choose from, each with its own advantages disponibili tra cui scegliere, ognuno dei quali con i suoi pro e i suoi
and disadvantages. Consult <option>mplayer -pphelp</option> and contro. Controlla <option>mplayer -pphelp</option> e
<option>mplayer -vf help</option> to see what is available <option>mplayer -vf help</option> per vedere cosa c'è disponibile
(grep for "deint"), read Michael's Niedermayer (fa in grep per "deint"), leggi il <ulink url="http://guru.multimedia.cx/deinterlacing-filters/">confronto tra filtri di deinterlacciatura
<ulink url="http://guru.multimedia.cx/deinterlacing-filters/">Deinterlacing filters comparison</ulink>, (Deinterlacing filters comparison)</ulink> di Michael Niedermayer, e cerca
and search the nelle <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">
<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html"> mailing list di MPlayer</ulink> per trovare discussioni riguardanti i vari
MPlayer mailing lists</ulink> to find many discussions about the filtri.
various filters. Di nuovo il framerate non cambia, indi niente <option>-ofps</option>.
Again, the framerate is not changing, so no Inoltre, la deinterlacciatura dovrebbe essere eseguita dopo il ritaglio
<option>-ofps</option>. Also, deinterlacing should be done after <link linkend="menc-feat-telecine-footnotes">[1]</link> e prima del
cropping <link linkend="menc-feat-telecine-footnotes">[1]</link> and ridimensionamento.
before scaling.
<screen>mencoder dvd://1 -oac copy -vf yadif -ovc lavc</screen> <screen>mencoder dvd://1 -oac copy -vf yadif -ovc lavc</screen>
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
Unfortunately, this option is buggy with Sfortunatamente, quest'opzione non funziona bene con
<application>MEncoder</application>; it ought to work well with <application>MEncoder</application>; dovrebbe funzionar bene con
<application>MEncoder G2</application>, but that is not here yet. You <application>MEncoder G2</application>, ma ancora non esiste. Puoi subire
might experience crahes. Anyway, the purpose of <option> -vf dei crash. Tuttavia l'obiettivo di <option>-vf tfields</option> è di
tfields</option> is to create a full frame out of each field, which generare un fotogramma completo da ogni campo, portando il framerate a
makes the framerate 60000/1001. The advantage of this approach is that no 60000/1001. Il vantaggio di questo approccio è che non viene mai perso alcun
data is ever lost; however, since each frame comes from only one dato; d'altro canto, dato che ogni fotogramma deriva da un solo campo, le
field, the missing lines have to be interpolated somehow. There are righe mancanti devono essere interpolate in qualche modo. Non ci sono metodi
no very good methods of generating the missing data, and so the veramente validi per ricreare i dati mancanti, quindi il risultato apparirà
result will look a bit similar to when using some deinterlacing molto simile a quando vengono usati dei filtri di deinterlacciatura.
filters. Generating the missing lines creates other issues, as well, La generazione delle righe che mancano è foriera di altri problemi,
simply because the amount of data doubles. So, higher encoding solamente per il fatto che i dati sono raddoppiati. Conseguentemente per
bitrates are required to maintain quality, and more CPU power is mantenere la qualità si rendono necessari bitrate più elevati e viene usata
used for both encoding and decoding. tfields has several different una maggior potenza di CPU sia per la codifica che la decodifica.
options for how to create the missing lines of each frame. If you tfields ha varie opzioni su come generare le righe mancanti di ogni
use this method, then Reference the manual, and chose whichever fotogramma. Se usi questo metodo, fai riferimento al manuale, e scegli
option looks best for your material. Note that when using l'opzione che può andar meglio per il tuo materiale sorgente. Fai attenzione
<option>tfields</option> you che usando <option>tfields</option> <emphasis role="bold">devi</emphasis>
<emphasis role="bold">have to</emphasis> specify both specificare sia <option>-fps</option> che <option>-ofps</option> pari al
<option>-fps</option> and <option>-ofps</option> to be twice the doppio della sorgente originaria.
framerate of your original source.
<screen> <screen>
mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc \ mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc \
-fps 60000/1001 -ofps 60000/1001<!-- -fps 60000/1001 -ofps 60000/1001<!--
--></screen> --></screen>
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
If you plan on downscaling dramatically, you can extract and encode Se conti di ridurre drasticamente le dimensioni puoi estrarre e decodificare
only one of the two fields. Of course, you will lose half the vertical sono uno dei due campi. Perderai di sicuro metà della risoluzione verticale,
resolution, but if you plan on downscaling to at most 1/2 of the ma se pensi di ridurla almeno a 1/2 dell'originale, la perdità non sarà poi
original, the loss will not matter much. The result will be a molta. Il risultato sarà un file progressivo a 30000/1001 fotogrammi per
progressive 30000/1001 frames per second file. The procedure is to use secondo. La procedura è utilizzare <option>-vf field</option>, poi crop
<option>-vf field</option>, then crop <link linkend="menc-feat-telecine-footnotes">[1]</link> e scale in modo
<link linkend="menc-feat-telecine-footnotes">[1]</link> and scale corretto. Ricorda che dovrai correggere scale per compensare la risoluzione
appropriately. Remember that you will have to adjust the scale to verticale dimezzata.
compensate for the vertical resolution being halved.
<screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen> <screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen>
</para></listitem> </para></listitem>
</orderedlist> </orderedlist>
@ -2198,19 +2193,18 @@ mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc \
<sect3 id="menc-feat-telecine-encode-mixedpt"> <sect3 id="menc-feat-telecine-encode-mixedpt">
<title>Mixed progressive and telecine</title> <title>Progressivo e telecine miscelati</title>
<para> <para>
In order to turn mixed progressive and telecine video into entirely Per poter portare un video progressivo e telecine miscelati in un video
progressive video, the telecined parts have to be completamente progressivo, le parti in telecine devono essere passate in
inverse-telecined. There are three ways to accomplish this, telecine inverso. Ci son tre modi per ottenere ciò, e sono descritti qui sotto.
described below. Note that you should Nota che dovresti <emphasis role="bold">sempre</emphasis> effettuare il
<emphasis role="bold">always</emphasis> inverse-telecine before any telecine inverso prima di ogni ridimensionamento; a meno che tu non sappia
rescaling; unless you really know what you are doing, davvero cosa tu stia facendo, applica il telecine inverso anche prima del ritaglio (crop)
inverse-telecine before cropping, too
<link linkend="menc-feat-telecine-footnotes">[1]</link>. <link linkend="menc-feat-telecine-footnotes">[1]</link>.
<option>-ofps 24000/1001</option> is needed here because the output video In questo caso serve <option>-ofps 24000/1001</option> perché il video in
will be 24000/1001 frames per second. uscita sarà a 24000/1001 fotogrammi al secondo.
</para> </para>
<itemizedlist> <itemizedlist>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- synced with r26146 --> <!-- synced with r26729 -->
<chapter id="codecs"> <chapter id="codecs">
<title>Поддерживаемые кодеки</title> <title>Поддерживаемые кодеки</title>
@ -190,8 +190,8 @@
<para> <para>
<ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink> - <ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink> -
это библиотека для создания это библиотека для создания
видеопотоков H.264. Она не завершена на 100%, но, по крайней мере, имеет видеопотоков H.264. Она не завершена на 100%, но,
поддержку большинства возможностей H.264, влияющих на качество. поддерживает большинства возможностей H.264, влияющих на качество.
В спецификации H.264 присутствует множество дополнительных возможностей, В спецификации H.264 присутствует множество дополнительных возможностей,
которые сами по себе никак не влияют на качество видео и до сих в которые сами по себе никак не влияют на качество видео и до сих в
<systemitem class="library">x264</systemitem> не реализованы. <systemitem class="library">x264</systemitem> не реализованы.
@ -296,9 +296,9 @@ DVD-разрешением требует около 10% CPU. Это означ
<sect3 id="codec-x264-encode"> <sect3 id="codec-x264-encode">
<title>Как кодировать видео, используя <application>MEncoder</application> и <systemitem class="library">x264</systemitem>?</title> <title>Как кодировать видео, используя <application>MEncoder</application> и <systemitem class="library">x264</systemitem>?</title>
<para> <para>
Если у вас установлен клиент subversion, последнюю версию x264 Если у вас установлен клиент GIT, последнюю версию x264
можно загрузить следующей командой: можно загрузить следующей командой:
<screen>svn co svn://svn.videolan.org/x264/trunk x264</screen> <screen>git clone git://git.videolan.org/x264.git</screen>
Исходный код <application>MPlayer</application> обновляется Исходный код <application>MPlayer</application> обновляется
всякий раз при изменении API <systemitem class="library">x264</systemitem>, всякий раз при изменении API <systemitem class="library">x264</systemitem>,
так что предлагается использовать Subversion версию так что предлагается использовать Subversion версию
@ -306,7 +306,7 @@ DVD-разрешением требует около 10% CPU. Это означ
возможно, ситуация изменится с выходом "релиза" возможно, ситуация изменится с выходом "релиза"
<systemitem class="library">x264</systemitem> (если он будет). <systemitem class="library">x264</systemitem> (если он будет).
В данный момент <systemitem class="library">x264</systemitem> следует В данный момент <systemitem class="library">x264</systemitem> следует
рассматривать как очень нестабильный, в свете постоянного изменения рассматривать как не совсем стабильный, в свете постоянного изменения
интерфейса программирования. интерфейса программирования.
</para> </para>
<para> <para>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- synced with r25308 --> <!-- synced with r26711 -->
<chapter id="encoding-guide"> <chapter id="encoding-guide">
<title>Кодирование с <application>MEncoder</application></title> <title>Кодирование с <application>MEncoder</application></title>
@ -1943,7 +1943,7 @@ mkvmerge -o <replaceable>выходной_файл.mkv</replaceable> <replaceabl
<formalpara> <formalpara>
<title>Замечание о числах.</title> <title>Замечание о числах.</title>
<para> <para>
Многие документы, включая указанное выше руководство, ссылаются Многие документы, включая указанную выше статью, ссылаются
на количество полей в секунду 59.94 для NTSC видео и на количество полей в секунду 59.94 для NTSC видео и
соответствующие кадровые частоты 29.97 (для подверженного соответствующие кадровые частоты 29.97 (для подверженного
телесину и чересстрочного видео) и 23.976 (для построчного). телесину и чересстрочного видео) и 23.976 (для построчного).
@ -2034,7 +2034,9 @@ DVD плееры читают флаг, включенный в видеопот
рипы или тонко настроить рипы или тонко настроить
<systemitem class="library">libavcodec</systemitem> для <systemitem class="library">libavcodec</systemitem> для
достижения максимального качества, не входит в рамки данного достижения максимального качества, не входит в рамки данного
раздела. раздела; обратитесь к другим разделам
<link linkend="encoding-guide">Руководства по кодированию
с MEncoder</link>.
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
Есть несколько сносок, специфичных для данного руководства, Есть несколько сносок, специфичных для данного руководства,
@ -2391,6 +2393,24 @@ mencoder dvd://1 -oac copy -vf pullup,softskip \
-ovc lavc -ofps 24000/1001<!-- -ovc lavc -ofps 24000/1001<!--
--></screen> --></screen>
</para></listitem> </para></listitem>
<listitem><para>
<option>-vf filmdint</option> похожа на
<option>-vf pullup</option>: оба фильтра пытаются сопоставить пару полей
для формирования полного кадра. Однако <option>filmdint</option> будет
производить деинтерлейсинг одиночных полей, которым не может найти пару,
в то время как <option>pullup</option> попросту их отбросит.
Вдобавок фильтры имеют различные алгоритмы анализа, и filmdint
имеет тенденцию к более частому нахождению соответствий.
Какой фильтр будет лучше работать зависит от исходного видео и
личного вкуса; не бойтесь экспериментировать с тонкой настройкой
опций фильтров, если у вас возникли проблемы с любым из них (подробности
смотрите на странице руководства man). Для большинства качественного
исходного видео, однако, оба фильтра работают достаточно хорошо,
так что начинать работать можно с любым из них.
<screen>
mencoder dvd://1 -oac copy -vf filmdint -ovc lavc -ofps 24000/1001<!--
--></screen>
</para></listitem>
<listitem><para> <listitem><para>
Более старый метод заключается не в применении обратного телесина к Более старый метод заключается не в применении обратного телесина к
телесиненным частям, а, наоборот, в телесине не подверженных телесину частей и телесиненным частям, а, наоборот, в телесине не подверженных телесину частей и
@ -2403,18 +2423,6 @@ mencoder dvd://1 -oac copy -vf pullup,softskip \
mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001 mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001
</screen> </screen>
</para></listitem> </para></listitem>
<listitem><para>
Лично я не использовал <option>-vf filmdint</option>, но вот что сказал
Д Ричарт Фелкер III (D Richard Felker III):
<blockquote><para>С ним все в порядке, но имхо он слишком часто пытается
сделать деинтерлейс iвместо обратного телесина (в точности как аппаратные
DVD проигрыватели &amp; построчное TV), что в результате дает мерзкое
мерцание и другие артефакты. Если собираетесь его использовать, потребуется
как минимум потратить немного времени для тонкой настройки опций и
просмотра результата, чтобы убедиться, что он не испорчен.
</para></blockquote>
</para></listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
@ -5649,7 +5657,7 @@ mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \ mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\ vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \ vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
-o <replaceable>фильм.mpg</replaceable> <replaceable>фильм.avi</replaceable> -o <replaceable>фильм.mpg</replaceable> <replaceable>фильм.avi</replaceable>
</screen> </screen>
</para> </para>
@ -5664,7 +5672,7 @@ vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \ mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\ vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \ vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
-o <replaceable>фильм.mpg</replaceable> <replaceable>фильм.avi</replaceable> -o <replaceable>фильм.mpg</replaceable> <replaceable>фильм.avi</replaceable>
</screen> </screen>
</para> </para>
@ -5678,7 +5686,7 @@ vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \ mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\ vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\
vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \ vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
-o <replaceable>фильм.mpg</replaceable> <replaceable>фильм.avi</replaceable> -o <replaceable>фильм.mpg</replaceable> <replaceable>фильм.avi</replaceable>
</screen> </screen>
</para> </para>
@ -5692,7 +5700,7 @@ vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \ mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\ vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\
vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 \ vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
-o <replaceable>фильм.mpg</replaceable> <replaceable>фильм.avi</replaceable> -o <replaceable>фильм.mpg</replaceable> <replaceable>фильм.avi</replaceable>
</screen> </screen>
</para> </para>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- synced with r24342 --> <!-- synced with r26258 -->
<chapter id="mencoder"> <chapter id="mencoder">
<title>Основы использования <application>MEncoder</application></title> <title>Основы использования <application>MEncoder</application></title>

239
Makefile
View File

@ -512,9 +512,10 @@ SRCS_MPLAYER = mplayer.c \
libvo/vo_yuv4mpeg.c \ libvo/vo_yuv4mpeg.c \
$(addprefix libvo/,$(VO_SRCS)) \ $(addprefix libvo/,$(VO_SRCS)) \
SRCS_MPLAYER-$(APPLE_IR) += input/appleir.c
SRCS_MPLAYER-$(APPLE_REMOTE) += input/ar.c SRCS_MPLAYER-$(APPLE_REMOTE) += input/ar.c
SRCS_MPLAYER-$(GUI) += gui/bitmap.c
SRCS_MPLAYER-$(GUI_GTK) += gui/app.c \ SRCS_MPLAYER-$(GUI_GTK) += gui/app.c \
gui/bitmap.c \
gui/cfg.c \ gui/cfg.c \
gui/interface.c \ gui/interface.c \
gui/mplayer/gui_common.c \ gui/mplayer/gui_common.c \
@ -540,8 +541,7 @@ SRCS_MPLAYER-$(GUI_GTK) += gui/app.c \
gui/wm/ws.c \ gui/wm/ws.c \
gui/wm/wsxdnd.c \ gui/wm/wsxdnd.c \
SRCS_MPLAYER-$(GUI_WIN32) += gui/bitmap.c \ SRCS_MPLAYER-$(GUI_WIN32) += gui/win32/dialogs.c \
gui/win32/dialogs.c \
gui/win32/gui.c \ gui/win32/gui.c \
gui/win32/interface.c \ gui/win32/interface.c \
gui/win32/playlist.c \ gui/win32/playlist.c \
@ -637,12 +637,10 @@ MENCODER_DEPS = $(OBJS_MENCODER) $(OBJS_COMMON) $(COMMON_LIBS)
ALL_PRG-$(MPLAYER) += mplayer$(EXESUF) ALL_PRG-$(MPLAYER) += mplayer$(EXESUF)
ALL_PRG-$(MENCODER) += mencoder$(EXESUF) ALL_PRG-$(MENCODER) += mencoder$(EXESUF)
ALL_PRG += $(ALL_PRG-yes)
INSTALL_TARGETS-$(MPLAYER) += install-mplayer install-mplayer-man INSTALL_TARGETS-$(MPLAYER) += install-mplayer install-mplayer-man
INSTALL_TARGETS-$(MENCODER) += install-mencoder install-mplayer-man INSTALL_TARGETS-$(MENCODER) += install-mencoder install-mencoder-man
INSTALL_TARGETS-$(GUI_GTK) += install-gui INSTALL_TARGETS-$(GUI) += install-gui
INSTALL_TARGETS += $(INSTALL_TARGETS-yes)
DIRS = . \ DIRS = . \
dvdread \ dvdread \
@ -701,7 +699,7 @@ PARTS = ffmpeg/libavcodec \
###### generic rules ####### ###### generic rules #######
all: $(ALL_PRG) all: $(ALL_PRG-yes)
%.d: %.c %.d: %.c
$(MPDEPEND_CMD) > $@ $(MPDEPEND_CMD) > $@
@ -724,12 +722,10 @@ checkheaders: $(ALLHEADERS:.h=.ho)
dep depend: $(DEPS) dep depend: $(DEPS)
for part in $(PARTS); do $(MAKE) -C $$part depend; done for part in $(PARTS); do $(MAKE) -C $$part depend; done
define RECURSIVE_RULE ALLPARTLIBS = $(foreach part, $(PARTS), $(part)/$(notdir $(part)).a)
$(part)/$(notdir $(part)).a: recurse
$(MAKE) -C $(part)
endef
$(foreach part,$(PARTS),$(eval $(RECURSIVE_RULE))) $(ALLPARTLIBS): recurse
$(MAKE) -C $(@D)
mplayer$(EXESUF): $(MPLAYER_DEPS) mplayer$(EXESUF): $(MPLAYER_DEPS)
$(CC) -o $@ $^ $(LDFLAGS_MPLAYER) $(CC) -o $@ $^ $(LDFLAGS_MPLAYER)
@ -738,26 +734,20 @@ mencoder$(EXESUF): $(MENCODER_DEPS)
$(CC) -o $@ $^ $(LDFLAGS_MENCODER) $(CC) -o $@ $^ $(LDFLAGS_MENCODER)
codec-cfg$(EXESUF): codec-cfg.c codec-cfg.h help_mp.h codec-cfg$(EXESUF): codec-cfg.c codec-cfg.h help_mp.h
$(HOST_CC) -O -I. -Iffmpeg -DCODECS2HTML $< -o $@ $(HOST_CC) -O -I. -Iffmpeg -DCODECS2HTML -o $@ $<
codecs.conf.h: codec-cfg$(EXESUF) etc/codecs.conf codecs.conf.h: codec-cfg$(EXESUF) etc/codecs.conf
./codec-cfg$(EXESUF) ./etc/codecs.conf > $@ ./codec-cfg$(EXESUF) ./etc/codecs.conf > $@
codecs2html$(EXESUF): mp_msg.o
$(CC) -DCODECS2HTML codec-cfg.c $^ -o $@
codec-cfg-test$(EXESUF): codecs.conf.h codec-cfg.h mp_msg.o osdep/getch2.o
$(CC) -I. -DTESTING codec-cfg.c mp_msg.o osdep/getch2.o -ltermcap -o $@
osdep/mplayer-rc.o: osdep/mplayer.rc version.h
$(WINDRES) -I. -o $@ $<
# ./configure must be rerun if it changed # ./configure must be rerun if it changed
config.mak: configure config.mak: configure
@echo "############################################################" @echo "############################################################"
@echo "####### Please run ./configure again - it's changed! #######" @echo "####### Please run ./configure again - it's changed! #######"
@echo "############################################################" @echo "############################################################"
help_mp.h: help/help_mp-en.h $(HELP_FILE)
help/help_create.sh $(HELP_FILE) $(CHARSET)
# rebuild version.h each time the working copy is updated # rebuild version.h each time the working copy is updated
ifeq ($(wildcard .svn/entries),.svn/entries) ifeq ($(wildcard .svn/entries),.svn/entries)
version.h: .svn/entries version.h: .svn/entries
@ -765,22 +755,8 @@ endif
version.h: version.h:
./version.sh `$(CC) -dumpversion` ./version.sh `$(CC) -dumpversion`
help_mp.h: help/help_mp-en.h $(HELP_FILE) osdep/mplayer-rc.o: osdep/mplayer.rc version.h
@echo '// WARNING! This is a generated file. Do NOT edit.' > help_mp.h $(WINDRES) -I. -o $@ $<
@echo '// See the help/ subdir for the editable files.' >> help_mp.h
@echo '#ifndef MPLAYER_HELP_MP_H' >> help_mp.h
@echo '#define MPLAYER_HELP_MP_H' >> help_mp.h
ifeq ($(CHARSET),)
@echo '#include "$(HELP_FILE)"' >> help_mp.h
else
iconv -f UTF-8 -t $(CHARSET) "$(HELP_FILE)" >> help_mp.h
endif
@echo '#endif /* MPLAYER_HELP_MP_H */' >> help_mp.h
ifneq ($(HELP_FILE),help/help_mp-en.h)
@echo '// untranslated messages from the English master file:' >> help_mp.h
@help/help_diff.sh $(HELP_FILE) < help/help_mp-en.h >> help_mp.h
endif
@ -814,83 +790,69 @@ $(VIDIX_DEPS) $(VIDIX_OBJS): $(VIDIX_PCI_FILES)
###### installation rules ####### ###### installation / clean / generic rules #######
install: install-dirs $(INSTALL_TARGETS) install: $(INSTALL_TARGETS-yes)
install-dirs: install-dirs:
$(INSTALL) -d $(BINDIR) $(INSTALL) -d $(BINDIR) $(CONFDIR)
$(INSTALL) -d $(DATADIR)
install-%: %$(EXESUF) install-dirs
$(INSTALL) -m 755 $(INSTALLSTRIP) $< $(BINDIR)
install-mplayer-man: $(foreach lang,$(MAN_LANG_ALL),install-mplayer-man-$(lang))
install-mencoder-man: $(foreach lang,$(MAN_LANG_ALL),install-mencoder-man-$(lang))
install-mplayer-man-en:
$(INSTALL) -d $(MANDIR)/man1 $(INSTALL) -d $(MANDIR)/man1
$(INSTALL) -d $(CONFDIR) $(INSTALL) -c -m 644 DOCS/man/en/mplayer.1 $(MANDIR)/man1/
if test -f $(CONFDIR)/codecs.conf ; then mv -f $(CONFDIR)/codecs.conf $(CONFDIR)/codecs.conf.old ; fi
install-mplayer: mplayer$(EXESUF) install-mencoder-man-en: install-mplayer-man-en
$(INSTALL) -m 755 $(INSTALLSTRIP) mplayer$(EXESUF) $(BINDIR) cd $(MANDIR)/man1 && ln -sf mplayer.1 mencoder.1
install-mplayer-man: define MPLAYER_MAN_RULE
for lang in $(MAN_LANG); do \ install-mplayer-man-$(lang):
if test "$$lang" = en ; then \ $(INSTALL) -d $(MANDIR)/$(lang)/man1
$(INSTALL) -c -m 644 DOCS/man/en/mplayer.1 $(MANDIR)/man1/ ; \ $(INSTALL) -c -m 644 DOCS/man/$(lang)/mplayer.1 $(MANDIR)/$(lang)/man1/
else \ endef
$(INSTALL) -d $(MANDIR)/$$lang/man1 ; \
$(INSTALL) -c -m 644 DOCS/man/$$lang/mplayer.1 $(MANDIR)/$$lang/man1/ ; \
fi ; \
done
install-mencoder: mencoder$(EXESUF) define MENCODER_MAN_RULE
$(INSTALL) -m 755 $(INSTALLSTRIP) mencoder$(EXESUF) $(BINDIR) install-mencoder-man-$(lang): install-mplayer-man-$(lang)
for lang in $(MAN_LANG); do \ cd $(MANDIR)/$(lang)/man1 && ln -sf mplayer.1 mencoder.1
if test "$$lang" = en ; then \ endef
cd $(MANDIR)/man1 && ln -sf mplayer.1 mencoder.1 ; \
else \
cd $(MANDIR)/$$lang/man1 && ln -sf mplayer.1 mencoder.1 ; \
fi ; \
done
install-gui: $(foreach lang,$(MAN_LANG),$(eval $(MPLAYER_MAN_RULE)))
$(foreach lang,$(MAN_LANG),$(eval $(MENCODER_MAN_RULE)))
install-gui: install-mplayer
-ln -sf mplayer$(EXESUF) $(BINDIR)/gmplayer$(EXESUF) -ln -sf mplayer$(EXESUF) $(BINDIR)/gmplayer$(EXESUF)
$(INSTALL) -d $(DATADIR)/skins $(INSTALL) -d $(DATADIR)/skins $(prefix)/share/pixmaps $(prefix)/share/applications
@echo "*** Download skin(s) at http://www.mplayerhq.hu/design7/dload.html"
@echo "*** for GUI, and extract to $(DATADIR)/skins/"
$(INSTALL) -d $(prefix)/share/pixmaps
$(INSTALL) -m 644 etc/mplayer.xpm $(prefix)/share/pixmaps/ $(INSTALL) -m 644 etc/mplayer.xpm $(prefix)/share/pixmaps/
$(INSTALL) -d $(prefix)/share/applications
$(INSTALL) -m 644 etc/mplayer.desktop $(prefix)/share/applications/ $(INSTALL) -m 644 etc/mplayer.desktop $(prefix)/share/applications/
uninstall: uninstall:
-rm -f $(BINDIR)/mplayer$(EXESUF) $(BINDIR)/gmplayer$(EXESUF) rm -f $(BINDIR)/mplayer$(EXESUF) $(BINDIR)/gmplayer$(EXESUF)
-rm -f $(BINDIR)/mencoder$(EXESUF) rm -f $(BINDIR)/mencoder$(EXESUF)
-rm -f $(MANDIR)/man1/mencoder.1 $(MANDIR)/man1/mplayer.1 rm -f $(MANDIR)/man1/mencoder.1 $(MANDIR)/man1/mplayer.1
-rm -f $(prefix)/share/pixmaps/mplayer.xpm rm -f $(prefix)/share/pixmaps/mplayer.xpm
-rm -f $(prefix)/share/applications/mplayer.desktop rm -f $(prefix)/share/applications/mplayer.desktop
for lang in $(MAN_LANG); do \ rm -f $(MANDIR)/man1/mplayer.1 $(MANDIR)/man1/mencoder.1
if test "$$lang" != "en"; then \ rm -f $(foreach lang,$(MAN_LANG),$(foreach man,mplayer.1 mencoder.1,$(MANDIR)/$(lang)/man1/$(man)))
rm -f $(MANDIR)/$$lang/man1/mplayer.1 \
$(MANDIR)/$$lang/man1/mencoder.1 \
$(MANDIR)/$$lang/man1/gmplayer.1 ; \
fi ; \
done
clean: clean:
rm -f $(foreach dir,$(DIRS),$(foreach suffix,/*.o /*.a /*.ho /*~, $(addsuffix $(suffix),$(dir)))) rm -f $(foreach dir,$(DIRS),$(foreach suffix,/*.o /*.a /*.ho /*~, $(addsuffix $(suffix),$(dir))))
rm -f mplayer$(EXESUF) mencoder$(EXESUF) rm -f mplayer$(EXESUF) mencoder$(EXESUF)
distclean: clean doxygen_clean testsclean toolsclean distclean: clean testsclean toolsclean driversclean
rm -rf DOCS/tech/doxygen
rm -f $(foreach dir,$(DIRS),$(foreach suffix,/*.d, $(addsuffix $(suffix),$(dir)))) rm -f $(foreach dir,$(DIRS),$(foreach suffix,/*.d, $(addsuffix $(suffix),$(dir))))
rm -f configure.log config.mak config.h codecs.conf.h help_mp.h \ rm -f configure.log config.mak config.h codecs.conf.h help_mp.h \
version.h $(VIDIX_PCI_FILES) \ version.h $(VIDIX_PCI_FILES) \
codec-cfg$(EXESUF) codecs2html$(EXESUF) codec-cfg-test$(EXESUF) \ codec-cfg$(EXESUF) cpuinfo$(EXESUF) TAGS tags
cpuinfo$(EXESUF) TAGS tags
doxygen: doxygen:
doxygen DOCS/tech/Doxyfile doxygen DOCS/tech/Doxyfile
doxygen_clean:
-rm -rf DOCS/tech/doxygen
strip:
strip -s $(ALL_PRG)
TAGS: TAGS:
rm -f $@; ( find -name '*.[chS]' -print ) | xargs etags -a rm -f $@; ( find -name '*.[chS]' -print ) | xargs etags -a
@ -903,6 +865,12 @@ tags:
TEST_OBJS = mp_msg-mencoder.o mp_fifo.o osdep/$(GETCH) osdep/$(TIMER) -ltermcap -lm TEST_OBJS = mp_msg-mencoder.o mp_fifo.o osdep/$(GETCH) osdep/$(TIMER) -ltermcap -lm
codecs2html$(EXESUF): codec-cfg.c $(TEST_OBJS)
$(CC) -I. -DCODECS2HTML -o $@ $^
codec-cfg-test$(EXESUF): codec-cfg.c codecs.conf.h codec-cfg.h $(TEST_OBJS)
$(CC) -I. -DTESTING -o $@ $^
liba52/test$(EXESUF): liba52/test.c cpudetect.o $(filter liba52/%,$(SRCS_COMMON:.c=.o)) liba52/test$(EXESUF): liba52/test.c cpudetect.o $(filter liba52/%,$(SRCS_COMMON:.c=.o))
libvo/aspecttest$(EXESUF): libvo/aspecttest.c libvo/aspect.o libvo/geometry.o $(TEST_OBJS) libvo/aspecttest$(EXESUF): libvo/aspecttest.c libvo/aspect.o libvo/geometry.o $(TEST_OBJS)
@ -916,7 +884,8 @@ loader/qtx/qtxload$(EXESUF): loader/qtx/qtxload.c $(LOADER_TEST_OBJS)
mp3lib/test$(EXESUF): mp3lib/test.c $(filter mp3lib/%,$(SRCS_COMMON:.c=.o)) libvo/aclib.o cpudetect.o $(TEST_OBJS) mp3lib/test$(EXESUF): mp3lib/test.c $(filter mp3lib/%,$(SRCS_COMMON:.c=.o)) libvo/aclib.o cpudetect.o $(TEST_OBJS)
mp3lib/test2$(EXESUF): mp3lib/test2.c $(filter mp3lib/%,$(SRCS_COMMON:.c=.o)) libvo/aclib.o cpudetect.o $(TEST_OBJS) mp3lib/test2$(EXESUF): mp3lib/test2.c $(filter mp3lib/%,$(SRCS_COMMON:.c=.o)) libvo/aclib.o cpudetect.o $(TEST_OBJS)
TESTS = liba52/test$(EXESUF) libvo/aspecttest$(EXESUF) \ TESTS = codecs2html$(EXESUF) codec-cfg-test$(EXESUF) \
liba52/test$(EXESUF) libvo/aspecttest$(EXESUF) \
loader/qtx/list$(EXESUF) loader/qtx/qtxload$(EXESUF) \ loader/qtx/list$(EXESUF) loader/qtx/qtxload$(EXESUF) \
mp3lib/test$(EXESUF) mp3lib/test2$(EXESUF) mp3lib/test$(EXESUF) mp3lib/test2$(EXESUF)
@ -947,6 +916,9 @@ ALLTOOLS = $(TOOLS) \
tools: $(TOOLS) tools: $(TOOLS)
alltools: $(ALLTOOLS) alltools: $(ALLTOOLS)
toolsclean:
rm -f $(ALLTOOLS) TOOLS/fastmem*-* TOOLS/realcodecs/*.so.6.0
TOOLS/bmovl-test$(EXESUF): TOOLS/bmovl-test.c -lSDL_image TOOLS/bmovl-test$(EXESUF): TOOLS/bmovl-test.c -lSDL_image
TOOLS/subrip$(EXESUF): TOOLS/subrip.c vobsub.o spudec.o unrar_exec.o \ TOOLS/subrip$(EXESUF): TOOLS/subrip.c vobsub.o spudec.o unrar_exec.o \
@ -988,10 +960,87 @@ NETSTREAM_DEPS = libavutil/libavutil.a \
TOOLS/netstream$(EXESUF): TOOLS/netstream.o $(NETSTREAM_DEPS) TOOLS/netstream$(EXESUF): TOOLS/netstream.o $(NETSTREAM_DEPS)
$(CC) $(CFLAGS) -o $@ $^ $(CC) $(CFLAGS) -o $@ $^
toolsclean:
rm -f $(ALLTOOLS) TOOLS/fastmem*-* TOOLS/realcodecs/*.so.6.0
###### drivers #######
KERNEL_INC = /lib/modules/`uname -r`/build/include
KERNEL_VERSION = $(shell grep RELEASE $(KERNEL_INC)/linux/version.h | cut -d'"' -f2)
KERNEL_CFLAGS = -O2 -D__KERNEL__ -DMODULE -Wall -I$(KERNEL_INC) -include $(KERNEL_INC)/linux/modversions.h
KERNEL_OBJS = $(addprefix drivers/, mga_vid.o tdfx_vid.o radeon_vid.o rage128_vid.o)
MODULES_DIR = /lib/modules/$(KERNEL_VERSION)/misc
drivers: $(KERNEL_OBJS) drivers/mga_vid_test drivers/tdfx_vid_test
$(KERNEL_OBJS) drivers/mga_vid_test drivers/tdfx_vid_test: CFLAGS = $(KERNEL_CFLAGS)
drivers/mga_vid.o: drivers/mga_vid.c drivers/mga_vid.h
drivers/tdfx_vid.o: drivers/tdfx_vid.c drivers/3dfx.h
drivers/radeon_vid.o drivers/rage128_vid.o: CFLAGS += -fomit-frame-pointer -fno-strict-aliasing -fno-common -ffast-math
drivers/radeon_vid.o: drivers/radeon_vid.c drivers/radeon.h drivers/radeon_vid.h
drivers/rage128_vid.o: drivers/radeon_vid.c drivers/radeon.h drivers/radeon_vid.h
$(CC) $(CFLAGS) -DRAGE128 -c $< -o $@
install-drivers: drivers
-mkdir -p $(MODULES_DIR)
install -m 644 $(KERNEL_OBJS) $(MODULES_DIR)
depmod -a
-mknod /dev/mga_vid c 178 0
-mknod /dev/tdfx_vid c 178 0
-mknod /dev/radeon_vid c 178 0
-ln -s /dev/radeon_vid /dev/rage128_vid
driversclean:
rm -f drivers/*.o drivers/*~ drivers/mga_vid_test drivers/tdfx_vid_test
dhahelper: vidix/dhahelper/dhahelper.o vidix/dhahelper/test
vidix/dhahelper/dhahelper.o vidix/dhahelper/test: CFLAGS = $(KERNEL_CFLAGS)
vidix/dhahelper/dhahelper.o: vidix/dhahelper/dhahelper.c vidix/dhahelper/dhahelper.h
install-dhahelper: vidix/dhahelper/dhahelper.o
-mkdir -p $(MODULES_DIR)
install -m 644 $< $(MODULES_DIR)
depmod -a
dhahelperclean:
rm -f vidix/dhahelper/*.o vidix/dhahelper/*~ vidix/dhahelper/test
dhahelperwin: vidix/dhahelperwin/dhasetup.exe vidix/dhahelperwin/dhahelper.sys
vidix/dhahelperwin/dhasetup.exe: vidix/dhahelperwin/dhasetup.c
$(CC) -o $@ $<
vidix/dhahelperwin/dhahelper.o: vidix/dhahelperwin/dhahelper.c vidix/dhahelperwin/dhahelper.h
$(CC) -Wall -Os -c $< -o $@
vidix/dhahelperwin/dhahelper-rc.o: vidix/dhahelperwin/dhahelper.rc vidix/dhahelperwin/common.ver vidix/dhahelperwin/ntverp.h
$(WINDRES) -I. $< $@
vidix/dhahelperwin/base.tmp: vidix/dhahelperwin/dhahelper.o vidix/dhahelperwin/dhahelper-rc.o
$(CC) -Wl,--base-file,$@ -Wl,--entry,_DriverEntry@8 -nostartfiles \
-nostdlib -o vidix/dhahelperwin/junk.tmp $^ -lntoskrnl
-rm -f vidix/dhahelperwin/junk.tmp
vidix/dhahelperwin/temp.exp: vidix/dhahelperwin/base.tmp
dlltool --dllname vidix/dhahelperwin/dhahelper.sys --base-file $< --output-exp $@
vidix/dhahelperwin/dhahelper.sys: vidix/dhahelperwin/temp.exp vidix/dhahelperwin/dhahelper.o vidix/dhahelperwin/dhahelper-rc.o
$(CC) -Wl,--subsystem,native -Wl,--image-base,0x10000 \
-Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 \
-Wl,--entry,_DriverEntry@8 -Wl,$< -mdll -nostartfiles -nostdlib \
-o $@ vidix/dhahelperwin/dhahelper.o \
vidix/dhahelperwin/dhahelper-rc.o -lntoskrnl
strip $@
install-dhahelperwin:
vidix/dhahelperwin/dhasetup.exe install
dhahelperwinclean:
rm -f $(addprefix vidix/dhahelperwin/,*.o *~ dhahelper.sys dhasetup.exe base.tmp temp.exp)
-include $(DEPS) -include $(DEPS)
.PHONY: all doxygen *install* recurse strip *tools .PHONY: all doxygen *install* recurse *tools drivers dhahelper*
.PHONY: checkheaders *clean dep depend tests .PHONY: checkheaders *clean dep depend tests

View File

@ -34,7 +34,7 @@ static int mga_init(){
if(f == -1) if(f == -1)
{ {
fprintf(stderr,"Couldn't open /dev/mga_vid\n"); fprintf(stderr,"Couldn't open /dev/mga_vid\n");
return(-1); return -1;
} }
mga_vid_config.num_frames=1; mga_vid_config.num_frames=1;
@ -80,7 +80,7 @@ static unsigned int GetTimer(){
// float s; // float s;
gettimeofday(&tv,&tz); gettimeofday(&tv,&tz);
// s=tv.tv_usec;s*=0.000001;s+=tv.tv_sec; // s=tv.tv_usec;s*=0.000001;s+=tv.tv_sec;
return (tv.tv_sec*1000000+tv.tv_usec); return tv.tv_sec * 1000000 + tv.tv_usec;
} }
static inline unsigned long long int read_tsc( void ) static inline unsigned long long int read_tsc( void )

View File

@ -26,28 +26,28 @@ static char *atom2human_type(int type)
{ {
switch (type) switch (type)
{ {
case 0x766F6F6D: return ("Information sections"); /* moov */ case 0x766F6F6D: return "Information sections"; /* moov */
case 0x6468766D: return ("Movie header"); /* mvhd */ case 0x6468766D: return "Movie header"; /* mvhd */
case 0x6169646D: return ("Media stream"); /* mdia */ case 0x6169646D: return "Media stream"; /* mdia */
case 0x64686D76: return ("Video media header"); /* vmhd */ case 0x64686D76: return "Video media header"; /* vmhd */
case 0x64686D73: return ("Sound media header"); /* smhd */ case 0x64686D73: return "Sound media header"; /* smhd */
case 0x6468646D: return ("Media header"); /* mdhd */ case 0x6468646D: return "Media header"; /* mdhd */
case 0x666E696D: return ("Media information"); /* minf */ case 0x666E696D: return "Media information"; /* minf */
case 0x726C6468: return ("Handler reference"); /* hdlr */ case 0x726C6468: return "Handler reference"; /* hdlr */
case 0x6B617274: return ("New track (stream)"); /* trak */ case 0x6B617274: return "New track (stream)"; /* trak */
case 0x75716D72: return ("rmqu"); case 0x75716D72: return "rmqu";
case 0x65657266: return ("free"); case 0x65657266: return "free";
case 0x64686B74: return ("Track header"); /* tkhd */ case 0x64686B74: return "Track header"; /* tkhd */
case 0x61746475: return ("User data"); /* udta */ case 0x61746475: return "User data"; /* udta */
case 0x7461646D: return ("Movie data"); /* mdat */ case 0x7461646D: return "Movie data"; /* mdat */
case 0x6C627473: return ("Sample information table"); /* stbl */ case 0x6C627473: return "Sample information table"; /* stbl */
case 0x64737473: return ("Sample description"); /* stsd */ case 0x64737473: return "Sample description"; /* stsd */
case 0x6F637473: return ("Chunk offset table"); /* stco */ case 0x6F637473: return "Chunk offset table"; /* stco */
case 0x73747473: return ("Sample time table"); /* stts */ case 0x73747473: return "Sample time table"; /* stts */
case 0x63737473: return ("Sample->Chunk mapping table"); /* stsc */ case 0x63737473: return "Sample->Chunk mapping table"; /* stsc */
case 0x7A737473: return ("Sample size table"); /* stsz */ case 0x7A737473: return "Sample size table"; /* stsz */
} }
return("unknown"); return "unknown";
} }
#define S_NONE 0 #define S_NONE 0

View File

@ -310,7 +310,7 @@ const m_option_t mplayer_opts[]={
// a-v sync stuff: // a-v sync stuff:
OPT_FLAG_ON("correct-pts", user_correct_pts, 0), OPT_FLAG_ON("correct-pts", user_correct_pts, 0),
OPT_FLAG_OFF("no-correct-pts", user_correct_pts, 0), OPT_FLAG_OFF("nocorrect-pts", user_correct_pts, 0),
{"noautosync", &autosync, CONF_TYPE_FLAG, 0, 0, -1, NULL}, {"noautosync", &autosync, CONF_TYPE_FLAG, 0, 0, -1, NULL},
{"autosync", &autosync, CONF_TYPE_INT, CONF_RANGE, 0, 10000, NULL}, {"autosync", &autosync, CONF_TYPE_INT, CONF_RANGE, 0, 10000, NULL},
// {"dapsync", &dapsync, CONF_TYPE_FLAG, 0, 0, 1, NULL}, // {"dapsync", &dapsync, CONF_TYPE_FLAG, 0, 0, 1, NULL},

View File

@ -1177,8 +1177,10 @@ next:
printf("info='%s'\n",c->info); printf("info='%s'\n",c->info);
printf("comment='%s'\n",c->comment); printf("comment='%s'\n",c->comment);
printf("dll='%s'\n",c->dll); printf("dll='%s'\n",c->dll);
printf("flags=%X driver=%d status=%d cpuflags=%d\n", /* printf("flags=%X driver=%d status=%d cpuflags=%d\n",
c->flags, c->driver, c->status, c->cpuflags); c->flags, c->driver, c->status, c->cpuflags); */
printf("flags=%X status=%d cpuflags=%d\n",
c->flags, c->status, c->cpuflags);
for(j=0;j<CODECS_MAX_FOURCC;j++){ for(j=0;j<CODECS_MAX_FOURCC;j++){
if(c->fourcc[j]!=0xFFFFFFFF){ if(c->fourcc[j]!=0xFFFFFFFF){

View File

@ -1908,7 +1908,7 @@ static int mp_property_teletext_common(m_option_t *prop, int action, void *arg,
return M_PROPERTY_NOT_IMPLEMENTED; return M_PROPERTY_NOT_IMPLEMENTED;
} }
return (result==TVI_CONTROL_TRUE?M_PROPERTY_OK:M_PROPERTY_ERROR); return result == TVI_CONTROL_TRUE ? M_PROPERTY_OK : M_PROPERTY_ERROR;
} }
static int mp_property_teletext_mode(m_option_t *prop, int action, void *arg, static int mp_property_teletext_mode(m_option_t *prop, int action, void *arg,
@ -2629,6 +2629,11 @@ int run_command(MPContext *mpctx, mp_cmd_t *cmd)
} }
break; break;
case MP_CMD_STOP:
mpctx->eof = PT_STOP;
brk_cmd = 1;
break;
#ifdef USE_RADIO #ifdef USE_RADIO
case MP_CMD_RADIO_STEP_CHANNEL: case MP_CMD_RADIO_STEP_CHANNEL:
if (mpctx->demuxer->stream->type == STREAMTYPE_RADIO) { if (mpctx->demuxer->stream->type == STREAMTYPE_RADIO) {

351
configure vendored
View File

@ -229,6 +229,7 @@ Optional features:
--enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect] --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
--enable-joystick enable joystick support [disable] --enable-joystick enable joystick support [disable]
--enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect] --enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect]
--enable-apple-ir enable Apple IR Remote input (Linux only) [autodetect]
--disable-vm disable X video mode extensions [autodetect] --disable-vm disable X video mode extensions [autodetect]
--disable-xf86keysym disable support for multimedia keys [autodetect] --disable-xf86keysym disable support for multimedia keys [autodetect]
--enable-radio enable radio interface [disable] --enable-radio enable radio interface [disable]
@ -285,8 +286,8 @@ Codecs:
--disable-qtx disable QuickTime codecs support [enabled] --disable-qtx disable QuickTime codecs support [enabled]
--disable-xanim disable XAnim codecs support [enabled] --disable-xanim disable XAnim codecs support [enabled]
--disable-real disable RealPlayer codecs support [enabled] --disable-real disable RealPlayer codecs support [enabled]
--disable-xvid disable XviD [autodetect] --disable-xvid disable Xvid [autodetect]
--disable-xvid-lavc disable XviD in libavcodec [autodetect] --disable-xvid-lavc disable Xvid in libavcodec [autodetect]
--disable-x264 disable x264 [autodetect] --disable-x264 disable x264 [autodetect]
--disable-x264-lavc disable x264 in libavcodec [autodetect] --disable-x264-lavc disable x264 in libavcodec [autodetect]
--disable-libnut disable libnut [autodetect] --disable-libnut disable libnut [autodetect]
@ -630,6 +631,7 @@ _libnut=auto
_lirc=auto _lirc=auto
_lircc=auto _lircc=auto
_apple_remote=auto _apple_remote=auto
_apple_ir=auto
_gui=no _gui=no
_gtk1=no _gtk1=no
_termcap=auto _termcap=auto
@ -1073,6 +1075,8 @@ for ac_option do
--disable-lircc) _lircc=no ;; --disable-lircc) _lircc=no ;;
--enable-apple-remote) _apple_remote=yes ;; --enable-apple-remote) _apple_remote=yes ;;
--disable-apple-remote) _apple_remote=no ;; --disable-apple-remote) _apple_remote=no ;;
--enable-apple-ir) _apple_ir=yes ;;
--disable-apple-ir) _apple_ir=no ;;
--enable-gui) _gui=yes ;; --enable-gui) _gui=yes ;;
--disable-gui) _gui=no ;; --disable-gui) _gui=no ;;
--enable-gtk1) _gtk1=yes ;; --enable-gtk1) _gtk1=yes ;;
@ -1565,7 +1569,7 @@ if x86 && test "$_runtime_cpudetection" = no ; then
void catch() { exit(1); } void catch() { exit(1); }
int main(void) { int main(void) {
signal(SIGILL, catch); signal(SIGILL, catch);
__asm__ __volatile__ ("$3":::"memory");return(0); __asm__ __volatile__ ("$3":::"memory"); return 0;
} }
EOF EOF
@ -2411,30 +2415,46 @@ echores $_asmalign_pot
#FIXME: This should happen before the check for CFLAGS.. #FIXME: This should happen before the check for CFLAGS..
if test "$_altivec" = yes || test "$_runtime_cpudetection" = yes ; then if ppc && ( test "$_altivec" = yes || test "$_runtime_cpudetection" = yes ) ; then
# check if AltiVec is supported by the compiler, and how to enable it # check if AltiVec is supported by the compiler, and how to enable it
echocheck "GCC AltiVec flags" echocheck "GCC AltiVec flags"
cat > $TMPC << EOF cat > $TMPC << EOF
int main(void) { return 0; } int main(void) { return 0; }
EOF EOF
cc_check -maltivec -mabi=altivec \ if $(cc_check -maltivec -mabi=altivec) ; then
&& _altivec_gcc_flags="-maltivec -mabi=altivec" \ _altivec_gcc_flags="-maltivec -mabi=altivec"
|| cc_check -faltivec && _altivec_gcc_flags=-faltivec \
|| _altivec=no
echores "$_altivec_gcc_flags"
# check if <altivec.h> should be included # check if <altivec.h> should be included
echocheck "altivec.h"
_def_altivec_h='#undef HAVE_ALTIVEC_H' _def_altivec_h='#undef HAVE_ALTIVEC_H'
_have_altivec_h=no
cat > $TMPC << EOF cat > $TMPC << EOF
#include <altivec.h> #include <altivec.h>
int main(void) { return 0; } int main(void) { return 0; }
EOF EOF
cc_check $_altivec_gcc_flags && _have_altivec_h=yes \ if $(cc_check $_altivec_gcc_flags) ; then
&& _def_altivec_h='#define HAVE_ALTIVEC_H 1' _def_altivec_h='#define HAVE_ALTIVEC_H 1'
echores "$_have_altivec_h" inc_altivec_h='#include <altivec.h>'
else
cat > $TMPC << EOF
int main(void) { return 0; }
EOF
if $(cc_check -faltivec) ; then
_altivec_gcc_flags="-faltivec"
else
_altivec=no
_altivec_gcc_flags="none, AltiVec disabled"
fi
fi
fi
echores "$_altivec_gcc_flags"
# check if the compiler supports braces for vector declarations
cat > $TMPC << EOF
$inc_altivec_h
#define AVV(x...) {x}
int main (void) { (vector int) AVV(1); return 0; }
EOF
cc_check $_altivec_gcc_flags &&
_def_altivec_vector_braces='#define HAVE_ALTIVEC_VECTOR_BRACES 1'
# Disable runtime cpudetection if we cannot generate AltiVec code or # Disable runtime cpudetection if we cannot generate AltiVec code or
# AltiVec is disabled by the user. # AltiVec is disabled by the user.
@ -2589,12 +2609,13 @@ _mp_help="help/help_mp-${_language}.h"
test -f $_mp_help || die "$_mp_help not found" test -f $_mp_help || die "$_mp_help not found"
for lang in $LANGUAGES ; do for lang in $LANGUAGES ; do
if test -f "DOCS/man/$lang/mplayer.1" ; then if test -f "DOCS/man/$lang/mplayer.1" ; then
MAN_LANG="$lang $MAN_LANG" MAN_LANG_ALL="$lang $MAN_LANG_ALL"
fi fi
done done
MAN_LANG="$(echo $MAN_LANG_ALL | sed 's/en//')"
_doc_lang=$_language _doc_lang=$_language
test -d DOCS/xml/$_doc_lang || _doc_lang=en test -d DOCS/xml/$_doc_lang || _doc_lang=en
echores "using $_language (man pages: $MAN_LANG)" echores "using $_language (man pages: $MAN_LANG_ALL)"
echocheck "enable sighandler" echocheck "enable sighandler"
@ -3604,6 +3625,28 @@ echores "$_apple_remote"
fi #if darwin fi #if darwin
if linux; then
echocheck "Apple IR"
if test "$_apple_ir" = auto ; then
_apple_ir=no
cat > $TMPC <<EOF
#include <linux/types.h>
#include <linux/input.h>
int main(void) {
struct input_event ev;
return 0;
}
EOF
cc_check && tmp_run && _apple_ir=yes
fi
if test "$_apple_ir" = yes ; then
_def_apple_ir='#define HAVE_APPLE_IR 1'
else
_def_apple_ir='#undef HAVE_APPLE_IR'
fi
echores "$_apple_ir"
fi #if linux
echocheck "pkg-config" echocheck "pkg-config"
_pkg_config=pkg-config _pkg_config=pkg-config
@ -4512,7 +4555,7 @@ cat > $TMPC << EOF
int main(void) { int main(void) {
printf("png.h : %s\n", PNG_LIBPNG_VER_STRING); printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
printf("libpng: %s\n", png_libpng_ver); printf("libpng: %s\n", png_libpng_ver);
return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver)); return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
} }
EOF EOF
if cc_check -lpng -lz $_ld_lm ; then if cc_check -lpng -lz $_ld_lm ; then
@ -5324,26 +5367,22 @@ elif test "$_dvdread" = auto ; then
if test "$_dl" = yes; then if test "$_dl" = yes; then
cat > $TMPC << EOF cat > $TMPC << EOF
#include <inttypes.h> #include <inttypes.h>
#include <dvdread/dvd_reader.h> #include <libdvdread/dvd_reader.h>
#include <dvdread/ifo_types.h> #include <libdvdread/ifo_types.h>
#include <dvdread/ifo_read.h> #include <libdvdread/ifo_read.h>
#include <dvdread/nav_read.h> #include <libdvdread/nav_read.h>
int main(void) { return 0; } int main(void) { return 0; }
EOF EOF
cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
-ldvdread $_ld_dl && _dvdread=yes && _res_comment="external"
fi fi
if test "$_dvdread" = no ; then _dvdreadconfig="dvdread-config"
_dvdreadconfig="dvdread-config" _dvdreadcflags=`$_dvdreadconfig --cflags`
_dvdreadcflags=`$_dvdreadconfig --cflags` _dvdreadlibs=`$_dvdreadconfig --libs`
_dvdreadlibs=`$_dvdreadconfig --libs` if cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
if cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \ $_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
$_dvdreadcflags $_dvdreadlibs $_ld_dl ; then _dvdread=yes
_dvdread=yes _inc_extra="$_inc_extra $_dvdreadcflags"
_inc_extra="$_inc_extra $_dvdreadcflags" _ld_extra="$_ld_extra $_dvdreadlibs"
_ld_extra="$_ld_extra $_dvdreadlibs" _res_comment="external"
_res_comment="external"
fi
fi fi
fi fi
@ -6506,7 +6545,7 @@ fi
echores "$_libdv" echores "$_libdv"
echocheck "XviD" echocheck "Xvid"
if test "$_xvid" = auto ; then if test "$_xvid" = auto ; then
_xvid=no _xvid=no
cat > $TMPC << EOF cat > $TMPC << EOF
@ -6527,7 +6566,7 @@ else
fi fi
echores "$_xvid" echores "$_xvid"
echocheck "XviD two pass plugin" echocheck "Xvid two pass plugin"
if test "$_xvid" = yes && test "$_xvid_lavc" = auto ; then if test "$_xvid" = yes && test "$_xvid_lavc" = auto ; then
cat > $TMPC << EOF cat > $TMPC << EOF
#include <xvid.h> #include <xvid.h>
@ -7304,12 +7343,7 @@ else
_def_charset="#undef MSG_CHARSET" _def_charset="#undef MSG_CHARSET"
fi fi
if test "$_charset" = "UTF-8" ; then if test "$_charset" != "UTF-8" ; then
# hack to disable conversion in the Makefile
_charset=""
fi
if test "$_charset" ; then
echocheck "iconv program" echocheck "iconv program"
iconv -f UTF-8 -t $_charset ${_mp_help} > /dev/null 2>> "$TMPLOG" iconv -f UTF-8 -t $_charset ${_mp_help} > /dev/null 2>> "$TMPLOG"
if test "$?" -ne 0 ; then if test "$?" -ne 0 ; then
@ -7510,7 +7544,12 @@ cc_check -mno-omit-leaf-frame-pointer && CFLAG_NO_OMIT_LEAF_FRAME_POINTER="-mno-
# to use its own copy of the library) # to use its own copy of the library)
echocheck "DVD support (libdvdnav)" echocheck "DVD support (libdvdnav)"
if test "$_dvdnav" = auto ; then if test "$_dvdnav" = auto ; then
$_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav=no if test "$_dvdread_internal" = yes ; then
_dvdnav=no
echores "disabled due to the usage of the internal copy of dvdread. Append --disable-dvdread-internal"
else
$_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav=no
fi
fi fi
if test "$_dvdnav" = auto ; then if test "$_dvdnav" = auto ; then
cat > $TMPC <<EOF cat > $TMPC <<EOF
@ -7540,9 +7579,12 @@ echo "Creating config.mak"
cat > config.mak << EOF cat > config.mak << EOF
# -------- Generated by configure ----------- # -------- Generated by configure -----------
LANG = C # Ensure that locale settings do not interfere with shell commands.
LC_ALL = C
MAN_LANG = $MAN_LANG MAN_LANG = $MAN_LANG
TARGET_OS = $system_name MAN_LANG_ALL = $MAN_LANG_ALL
DESTDIR = DESTDIR =
prefix = \$(DESTDIR)$_prefix prefix = \$(DESTDIR)$_prefix
BINDIR = \$(DESTDIR)$_bindir BINDIR = \$(DESTDIR)$_bindir
@ -7550,8 +7592,7 @@ DATADIR = \$(DESTDIR)$_datadir
MANDIR = \$(DESTDIR)$_mandir MANDIR = \$(DESTDIR)$_mandir
CONFDIR = \$(DESTDIR)$_confdir CONFDIR = \$(DESTDIR)$_confdir
LIBDIR = \$(DESTDIR)$_libdir LIBDIR = \$(DESTDIR)$_libdir
# FFmpeg uses libdir instead of LIBDIR
libdir = \$(LIBDIR)
AR = $_ar AR = $_ar
CC = $_cc CC = $_cc
CXX = $_cc CXX = $_cc
@ -7559,6 +7600,8 @@ HOST_CC = $_host_cc
RANLIB = $_ranlib RANLIB = $_ranlib
WINDRES = $_windres WINDRES = $_windres
INSTALL = $_install INSTALL = $_install
INSTALLSTRIP = $_install_strip
EXTRA_INC = $_inc_extra EXTRA_INC = $_inc_extra
EXTRAXX_INC = $_inc_extra $_inc_extraxx EXTRAXX_INC = $_inc_extra $_inc_extraxx
CFLAGS = $CFLAGS \$(EXTRA_INC) CFLAGS = $CFLAGS \$(EXTRA_INC)
@ -7567,50 +7610,39 @@ FFMPEG_OFLAGS = $CFLAGS_FFMPEG \$(EXTRA_INC)
CFLAG_NO_OMIT_LEAF_FRAME_POINTER = $CFLAG_NO_OMIT_LEAF_FRAME_POINTER CFLAG_NO_OMIT_LEAF_FRAME_POINTER = $CFLAG_NO_OMIT_LEAF_FRAME_POINTER
CXXFLAGS = $CXXFLAGS \$(EXTRAXX_INC) CXXFLAGS = $CXXFLAGS \$(EXTRAXX_INC)
CFLAG_STACKREALIGN = $_stackrealign CFLAG_STACKREALIGN = $_stackrealign
LIBDVDCSS_DVDREAD_FLAGS = $_libdvdcss_dvdread_flags
ASFLAGS = $ASFLAGS ASFLAGS = $ASFLAGS
INSTALLSTRIP = $_install_strip
CHARSET = $_charset
HELP_FILE = $_mp_help
EXESUF = $_exesuf
MPLAYER_NETWORK = $_network
FTP = $_ftp
STREAMING_LIVE555 = $_live
LIBNEMESI = $_nemesi
NATIVE_RTSP = $_native_rtsp
VSTREAM = $_vstream
STREAM_CACHE = $_stream_cache
DVBIN = $_dvbin
VIDIX = $_vidix
VIDIX_INTERNAL = $_vidix_internal
VIDIX_EXTERNAL = $_vidix_external
VIDIX_PCIDB = $_vidix_pcidb_val
CONFIG_POSTPROC = yes
MP3LAME = $_mp3lame
LIBMENU = $_menu
LIBMENU_DVBIN = $_menu_dvbin
MP3LIB = $_mp3lib
LIBA52 = $_liba52
LIBMPEG2 = $_libmpeg2
TREMOR_INTERNAL = $_tremor_internal
TREMOR_LOW = $_tremor_low
FAAD = $_faad
SPEEX = $_speex
MUSEPACK = $_musepack
UNRAR_EXEC = $_unrar_exec
PNG = $_png
JPEG = $_jpeg
GIF = $_gif
EXTRALIBS = $_extra_libs EXTRALIBS = $_extra_libs
EXTRA_LIB = $_ld_extra $_ld_static $_ld_lm EXTRA_LIB = $_ld_extra $_ld_static $_ld_lm
EXTRALIBS_MPLAYER = $_libs_mplayer EXTRALIBS_MPLAYER = $_libs_mplayer
EXTRALIBS_MENCODER = $_libs_mencoder EXTRALIBS_MENCODER = $_libs_mencoder
CHARSET = $_charset
HELP_FILE = $_mp_help
EXESUF = $_exesuf
$_target_arch
$_target_arch_x86
`echo $_cpuexts | tr '[a-z] ' '[A-Z]\n' | sed 's/^/HAVE_/;s/$/=yes/'`
GETCH = $_getch
TIMER = $_timer
AO_SRCS = $_aosrc
VO_SRCS = $_vosrc
MENCODER = $_mencoder
MPLAYER = $_mplayer
#internal libraries
LIBA52 = $_liba52
LIBMPEG2 = $_libmpeg2
MP3LIB = $_mp3lib
TREMOR_INTERNAL = $_tremor_internal
TREMOR_LOW = $_tremor_low
HAVE_SYS_MMAN_H = $_mman HAVE_SYS_MMAN_H = $_mman
HAVE_POSIX_SELECT = $_posix_select HAVE_POSIX_SELECT = $_posix_select
@ -7623,76 +7655,84 @@ NEED_STRSEP = $_need_strsep
NEED_SWAB = $_need_swab NEED_SWAB = $_need_swab
NEED_VSSCANF = $_need_vsscanf NEED_VSSCANF = $_need_vsscanf
GETCH = $_getch
TIMER = $_timer
PE_EXECUTABLE = $_pe_executable
# audio output # audio output
OSS = $_ossaudio OSS = $_ossaudio
ALSA = $_alsa
ALSA5 = $_alsa5
ALSA9 = $_alsa9 ALSA9 = $_alsa9
ALSA1X = $_alsa1x ALSA1X = $_alsa1x
LADSPA = $_ladspa # features
APPLE_IR = $_apple_ir
# input/demuxer/codecs
JOYSTICK = $_joystick
LIRC = $_lirc
APPLE_REMOTE = $_apple_remote APPLE_REMOTE = $_apple_remote
TV = $_tv
TV_V4L = $_tv_v4l
TV_V4L1 = $_tv_v4l1
TV_V4L2 = $_tv_v4l2
TV_DSHOW = $_tv_dshow
TV_BSDBT848 = $_tv_bsdbt848
TV_TELETEXT = $_tv_teletext
AUDIO_INPUT = $_audio_input AUDIO_INPUT = $_audio_input
PVR = $_pvr BITMAP_FONT = $_bitmap_font
VCD = $_vcd CDDA = $_cdda
CDDB = $_cddb
COREAUDIO = $_coreaudio
COREVIDEO = $_corevideo
DVBIN = $_dvbin
DVDNAV = $_dvdnav
DVDREAD = $_dvdread DVDREAD = $_dvdread
DVDREAD_INTERNAL = $_dvdread_internal DVDREAD_INTERNAL = $_dvdread_internal
FAAC=$_faac
FAAD = $_faad
FAAD_INTERNAL = $_faad_internal
FREETYPE = $_freetype
FTP = $_ftp
GIF = $_gif
GUI = $_gui
GUI_GTK = $_gui_gtk
GUI_WIN32 = $_gui_win32
JOYSTICK = $_joystick
JPEG = $_jpeg
LADSPA = $_ladspa
LIBASS = $_ass
LIBDCA = $_libdca
LIBDV = $_libdv
LIBDVDCSS_INTERNAL = $_libdvdcss_internal LIBDVDCSS_INTERNAL = $_libdvdcss_internal
LIBDVDCSS_DVDREAD_FLAGS = $_libdvdcss_dvdread_flags LIBLZO = $_liblzo
DVDNAV = $_dvdnav LIBMAD = $_mad
WIN32DLL = $_win32dll LIBMENU = $_menu
WIN32_EMULATION = $_win32_emulation LIBMENU_DVBIN = $_menu_dvbin
LIBNEMESI = $_nemesi
LIBNUT = $_libnut
LIBSMBCLIENT = $_smbsupport
LIBTHEORA = $_theora
LIBVORBIS = $_vorbis
LIRC = $_lirc
MACOSX_BUNDLE = $_macosx_bundle
MACOSX_FINDER_SUPPORT = $_macosx_finder_support
MP3LAME = $_mp3lame
MPLAYER_NETWORK = $_network
MUSEPACK = $_musepack
NATIVE_RTSP = $_native_rtsp
PE_EXECUTABLE = $_pe_executable
PNG = $_png
PVR = $_pvr
QTX_CODECS = $_qtx QTX_CODECS = $_qtx
QTX_CODECS_WIN32 = $_qtx_codecs_win32 QTX_CODECS_WIN32 = $_qtx_codecs_win32
QTX_EMULATION = $_qtx_emulation QTX_EMULATION = $_qtx_emulation
REAL_CODECS = $_real
XANIM_CODECS = $_xanim
ZORAN = $_zr
LIBLZO = $_liblzo
LIBDV = $_libdv
XVID4 = $_xvid
X264 = $_x264
LIBNUT = $_libnut
LIBDCA = $_libdca
MPLAYER = $_mplayer
MENCODER = $_mencoder
CDDA = $_cdda
CDDB = $_cddb
BITMAP_FONT = $_bitmap_font
FREETYPE = $_freetype
LIBASS = $_ass
LIBMAD = $_mad
LIBVORBIS = $_vorbis
LIBTHEORA = $_theora
FAAD_INTERNAL = $_faad_internal
LIBSMBCLIENT = $_smbsupport
XMMS_PLUGINS = $_xmms
MACOSX_FINDER_SUPPORT = $_macosx_finder_support
MACOSX_BUNDLE = $_macosx_bundle
COREAUDIO = $_coreaudio
COREVIDEO = $_corevideo
QUARTZ = $_quartz QUARTZ = $_quartz
TOOLAME=$_toolame
TWOLAME=$_twolame
FAAC=$_faac
RADIO=$_radio RADIO=$_radio
RADIO_CAPTURE=$_radio_capture RADIO_CAPTURE=$_radio_capture
REAL_CODECS = $_real
SPEEX = $_speex
STREAMING_LIVE555 = $_live
STREAM_CACHE = $_stream_cache
TOOLAME=$_toolame
TV = $_tv
TV_BSDBT848 = $_tv_bsdbt848
TV_DSHOW = $_tv_dshow
TV_TELETEXT = $_tv_teletext
TV_V4L = $_tv_v4l
TV_V4L1 = $_tv_v4l1
TV_V4L2 = $_tv_v4l2
TWOLAME=$_twolame
UNRAR_EXEC = $_unrar_exec
VCD = $_vcd
VIDIX = $_vidix
VIDIX_EXTERNAL = $_vidix_external
VIDIX_INTERNAL = $_vidix_internal
VIDIX_PCIDB = $_vidix_pcidb_val
VIDIX_CYBERBLADE=$_vidix_drv_cyberblade VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
VIDIX_IVTV=$_vidix_drv_ivtv VIDIX_IVTV=$_vidix_drv_ivtv
VIDIX_MACH64=$_vidix_drv_mach64 VIDIX_MACH64=$_vidix_drv_mach64
@ -7706,22 +7746,14 @@ VIDIX_RAGE128=$_vidix_drv_rage128
VIDIX_S3=$_vidix_drv_s3 VIDIX_S3=$_vidix_drv_s3
VIDIX_SIS=$_vidix_drv_sis VIDIX_SIS=$_vidix_drv_sis
VIDIX_UNICHROME=$_vidix_drv_unichrome VIDIX_UNICHROME=$_vidix_drv_unichrome
VSTREAM = $_vstream
# --- Some stuff for autoconfigure ---- WIN32DLL = $_win32dll
$_target_arch WIN32_EMULATION = $_win32_emulation
$_target_arch_x86 X264 = $_x264
TARGET_CPU=$iproc XANIM_CODECS = $_xanim
`echo $_cpuexts | tr '[a-z] ' '[A-Z]\n' | sed 's/^/HAVE_/;s/$/=yes/'` XMMS_PLUGINS = $_xmms
XVID4 = $_xvid
# --- GUI stuff --- ZORAN = $_zr
GUI_GTK = $_gui_gtk
GUI_WIN32 = $_gui_win32
# --- libvo stuff ---
VO_SRCS = $_vosrc
# --- libao2 stuff ---
AO_SRCS = $_aosrc
# FFmpeg # FFmpeg
LIBAVUTIL = $_libavutil LIBAVUTIL = $_libavutil
@ -7756,6 +7788,7 @@ CONFIG_LIBVORBIS=$_libvorbis
CONFIG_LIBX264=$_x264_lavc CONFIG_LIBX264=$_x264_lavc
CONFIG_LIBXVID=$_xvid_lavc CONFIG_LIBXVID=$_xvid_lavc
CONFIG_MLIB = $_mlib CONFIG_MLIB = $_mlib
CONFIG_POSTPROC = yes
# Prevent building libavcodec/imgresample.c with conflicting symbols # Prevent building libavcodec/imgresample.c with conflicting symbols
CONFIG_SWSCALE=yes CONFIG_SWSCALE=yes
CONFIG_ZLIB=$_zlib CONFIG_ZLIB=$_zlib
@ -7912,7 +7945,7 @@ $_def_hpux_scsi_h
-cache <kilobytes> */ -cache <kilobytes> */
$_def_stream_cache $_def_stream_cache
/* Define if you are using XviD library */ /* Define if you are using Xvid library */
$_def_xvid $_def_xvid
/* Define if you are using the X.264 library */ /* Define if you are using the X.264 library */
@ -8051,6 +8084,9 @@ $_def_lirc
/* Apple Remote (remote control, see http://docs.info.apple.com/article.html?artnum=302504) support: */ /* Apple Remote (remote control, see http://docs.info.apple.com/article.html?artnum=302504) support: */
$_def_apple_remote $_def_apple_remote
/* Apple IR Remote (Linux remote control driver) */
$_def_apple_ir
/* Support for maemo (http://www.maemo.org) */ /* Support for maemo (http://www.maemo.org) */
$_def_maemo $_def_maemo
@ -8461,6 +8497,7 @@ $_def_gethostbyname2
`ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE"` `ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE"`
$_def_altivec_h // enables usage of altivec.h $_def_altivec_h // enables usage of altivec.h
$_def_altivec_vector_braces
/* libvo options */ /* libvo options */
#define SCREEN_SIZE_X 1 #define SCREEN_SIZE_X 1
@ -8544,7 +8581,7 @@ Config files successfully generated by ./configure $_configuration !
Messages/GUI: $_language Messages/GUI: $_language
EOF EOF
echo ${_echo_n} " Manual pages: $MAN_LANG ${_echo_c}" echo ${_echo_n} " Manual pages: $MAN_LANG_ALL ${_echo_c}"
test "$LANGUAGES" = en && echo ${_echo_n} " (no localization selected, use --language=all)${_echo_c}" test "$LANGUAGES" = en && echo ${_echo_n} " (no localization selected, use --language=all)${_echo_c}"
echo echo

View File

@ -79,7 +79,7 @@ static int has_cpuid(void)
: "cc" : "cc"
); );
return (a!=c); return a != c;
} }
#endif #endif

View File

@ -1,4 +1,6 @@
#include <stddef.h> #include <stddef.h>
#include "config.h"
#include "defaultopts.h" #include "defaultopts.h"
#include "options.h" #include "options.h"
@ -39,7 +41,11 @@ void set_default_mplayer_options(struct MPOpts *opts)
.use_joystick = 1, .use_joystick = 1,
.use_lirc = 1, .use_lirc = 1,
.use_lircc = 1, .use_lircc = 1,
#ifdef HAVE_APPLE_REMOTE
.use_ar = 1, .use_ar = 1,
#else
.use_ar = 0,
#endif
} }
}; };
} }

View File

@ -1,34 +0,0 @@
KERNEL_INC = /lib/modules/`uname -r`/build/include
VERSION = $(shell grep RELEASE $(KERNEL_INC)/linux/version.h | cut -d'"' -f2)
MDIR = /lib/modules/$(VERSION)/misc
CFLAGS = -O2 -D__KERNEL__ -DMODULE -Wall -I$(KERNEL_INC) \
-include $(KERNEL_INC)/linux/modversions.h
OBJS = mga_vid.o tdfx_vid.o radeon_vid.o rage128_vid.o
all: $(OBJS) mga_vid_test tdfx_vid_test
mga_vid.o: mga_vid.c mga_vid.h
tdfx_vid.o: tdfx_vid.c 3dfx.h
radeon_vid.o: radeon_vid.c radeon.h radeon_vid.h
rage128_vid.o: radeon_vid.c radeon.h radeon_vid.h
$(CC) $(CFLAGS) -DRAGE128 -c $< -o $@
radeon_vid.o rage128_vid.o:
CFLAGS += -fomit-frame-pointer -fno-strict-aliasing -fno-common -ffast-math
install:
-mkdir -p $(MDIR)
install -m 644 $(OBJS) $(MDIR)
depmod -a
-mknod /dev/mga_vid c 178 0
-mknod /dev/tdfx_vid c 178 0
-mknod /dev/radeon_vid c 178 0
-ln -s /dev/radeon_vid /dev/rage128_vid
dep depend:
clean distclean:
rm -f *.o *~ mga_vid_test tdfx_vid_test
.PHONY: all install dep depend *clean

View File

@ -1207,27 +1207,27 @@ static int mga_vid_ioctl(struct inode *inode, struct file *file, unsigned int cm
if(copy_from_user(&card->config,(mga_vid_config_t*) arg,sizeof(mga_vid_config_t))) if(copy_from_user(&card->config,(mga_vid_config_t*) arg,sizeof(mga_vid_config_t)))
{ {
printk(KERN_ERR "mga_vid: failed copy from userspace\n"); printk(KERN_ERR "mga_vid: failed copy from userspace\n");
return(-EFAULT); return -EFAULT;
} }
if(card->config.version != MGA_VID_VERSION){ if(card->config.version != MGA_VID_VERSION){
printk(KERN_ERR "mga_vid: incompatible version! driver: %X requested: %X\n",MGA_VID_VERSION,card->config.version); printk(KERN_ERR "mga_vid: incompatible version! driver: %X requested: %X\n",MGA_VID_VERSION,card->config.version);
return(-EFAULT); return -EFAULT;
} }
if(card->config.frame_size==0 || card->config.frame_size>1024*768*2){ if(card->config.frame_size==0 || card->config.frame_size>1024*768*2){
printk(KERN_ERR "mga_vid: illegal frame_size: %d\n",card->config.frame_size); printk(KERN_ERR "mga_vid: illegal frame_size: %d\n",card->config.frame_size);
return(-EFAULT); return -EFAULT;
} }
if(card->config.num_frames<1 || card->config.num_frames>4){ if(card->config.num_frames<1 || card->config.num_frames>4){
printk(KERN_ERR "mga_vid: illegal num_frames: %d\n",card->config.num_frames); printk(KERN_ERR "mga_vid: illegal num_frames: %d\n",card->config.num_frames);
return(-EFAULT); return -EFAULT;
} }
card->src_base = (card->ram_size * 0x100000 - card->config.num_frames * card->config.frame_size - card->top_reserved); card->src_base = (card->ram_size * 0x100000 - card->config.num_frames * card->config.frame_size - card->top_reserved);
if(card->src_base<0){ if(card->src_base<0){
printk(KERN_ERR "mga_vid: not enough memory for frames!\n"); printk(KERN_ERR "mga_vid: not enough memory for frames!\n");
return(-EFAULT); return -EFAULT;
} }
card->src_base &= (~0xFFFF); // 64k boundary card->src_base &= (~0xFFFF); // 64k boundary
#ifdef MP_DEBUG #ifdef MP_DEBUG
@ -1244,7 +1244,7 @@ static int mga_vid_ioctl(struct inode *inode, struct file *file, unsigned int cm
if (copy_to_user((mga_vid_config_t *) arg, &card->config, sizeof(mga_vid_config_t))) if (copy_to_user((mga_vid_config_t *) arg, &card->config, sizeof(mga_vid_config_t)))
{ {
printk(KERN_ERR "mga_vid: failed copy to userspace\n"); printk(KERN_ERR "mga_vid: failed copy to userspace\n");
return(-EFAULT); return -EFAULT;
} }
result = mga_vid_set_config(card); result = mga_vid_set_config(card);
@ -1285,7 +1285,7 @@ static int mga_vid_ioctl(struct inode *inode, struct file *file, unsigned int cm
if(copy_from_user(&frame,(int *) arg,sizeof(int))) if(copy_from_user(&frame,(int *) arg,sizeof(int)))
{ {
printk(KERN_ERR "mga_vid: FSEL failed copy from userspace\n"); printk(KERN_ERR "mga_vid: FSEL failed copy from userspace\n");
return(-EFAULT); return -EFAULT;
} }
mga_vid_frame_sel(card, frame); mga_vid_frame_sel(card, frame);
@ -1300,7 +1300,7 @@ static int mga_vid_ioctl(struct inode *inode, struct file *file, unsigned int cm
{ {
printk(KERN_ERR "mga_vid: failed copy %p to userspace %p\n", printk(KERN_ERR "mga_vid: failed copy %p to userspace %p\n",
&tmp, (uint32_t *) arg); &tmp, (uint32_t *) arg);
return(-EFAULT); return -EFAULT;
} }
break; break;
@ -1314,7 +1314,7 @@ static int mga_vid_ioctl(struct inode *inode, struct file *file, unsigned int cm
default: default:
printk(KERN_ERR "mga_vid: Invalid ioctl\n"); printk(KERN_ERR "mga_vid: Invalid ioctl\n");
return (-EINVAL); return -EINVAL;
} }
return 0; return 0;
@ -1464,17 +1464,17 @@ static int mga_vid_mmap(struct file *file, struct vm_area_struct *vma)
if(!card->configured) if(!card->configured)
{ {
printk(KERN_ERR "mga_vid: card is not configured, cannot mmap\n"); printk(KERN_ERR "mga_vid: card is not configured, cannot mmap\n");
return(-EAGAIN); return -EAGAIN;
} }
if(remap_page_range(vma->vm_start, card->mem_base + card->src_base, if(remap_page_range(vma->vm_start, card->mem_base + card->src_base,
vma->vm_end - vma->vm_start, vma->vm_page_prot)) vma->vm_end - vma->vm_start, vma->vm_page_prot))
{ {
printk(KERN_ERR "mga_vid: error mapping video memory\n"); printk(KERN_ERR "mga_vid: error mapping video memory\n");
return(-EAGAIN); return -EAGAIN;
} }
return(0); return 0;
} }
static int mga_vid_release(struct inode *inode, struct file *file) static int mga_vid_release(struct inode *inode, struct file *file)
@ -1517,7 +1517,7 @@ static int mga_vid_open(struct inode *inode, struct file *file)
// we don't have that many cards // we don't have that many cards
if(minor >= mga_cards_num) if(minor >= mga_cards_num)
return(-ENXIO); return -ENXIO;
file->private_data = mga_cards[minor]; file->private_data = mga_cards[minor];
#ifdef MP_DEBUG #ifdef MP_DEBUG
@ -1533,11 +1533,11 @@ static int mga_vid_open(struct inode *inode, struct file *file)
card = (mga_card_t *) file->private_data; card = (mga_card_t *) file->private_data;
if(card->vid_in_use == 1) if(card->vid_in_use == 1)
return(-EBUSY); return -EBUSY;
card->vid_in_use = 1; card->vid_in_use = 1;
MOD_INC_USE_COUNT; MOD_INC_USE_COUNT;
return(0); return 0;
} }
#if LINUX_VERSION_CODE >= 0x020400 #if LINUX_VERSION_CODE >= 0x020400
@ -1735,7 +1735,7 @@ static int mga_vid_initialize(void)
} }
#endif #endif
return(0); return 0;
} }
int init_module(void) int init_module(void)

View File

@ -1,28 +1,19 @@
/* /*
* Matrox MGA G200/G400 YUV Video Interface module Version 0.1.0 *
* BES == Back End Scaler * mga_vid.h
* *
* Copyright (C) 1999 Aaron Holtzman * Copyright (C) 1999 Aaron Holtzman
* *
* This file is part of MPlayer. * Matrox MGA G200/G400 YUV Video Interface module Version 0.1.0
* *
* MPlayer is free software; you can redistribute it and/or modify * BES == Back End Scaler
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or * This software has been released under the terms of the GNU Public
* (at your option) any later version. * license. See http://www.gnu.org/copyleft/gpl.html for details.
*
* MPlayer is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with MPlayer; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/ */
#ifndef MPLAYER_MGA_VID_H #ifndef MGA_VID_H
#define MPLAYER_MGA_VID_H #define MGA_VID_H
typedef struct mga_vid_config_s typedef struct mga_vid_config_s
{ {
@ -42,27 +33,33 @@ uint8_t colkey_blue;
uint32_t format; uint32_t format;
uint32_t frame_size; uint32_t frame_size;
uint32_t num_frames; uint32_t num_frames;
uint32_t capabilities;
} mga_vid_config_t; } mga_vid_config_t;
/* supported FOURCCs */
#define MGA_VID_FORMAT_YV12 0x32315659 #define MGA_VID_FORMAT_YV12 0x32315659
#define MGA_VID_FORMAT_IYUV (('I'<<24)|('Y'<<16)|('U'<<8)|'V') #define MGA_VID_FORMAT_IYUV (('I'<<24)|('Y'<<16)|('U'<<8)|'V')
#define MGA_VID_FORMAT_I420 (('I'<<24)|('4'<<16)|('2'<<8)|'0') #define MGA_VID_FORMAT_I420 (('I'<<24)|('4'<<16)|('2'<<8)|'0')
#define MGA_VID_FORMAT_YUY2 (('Y'<<24)|('U'<<16)|('Y'<<8)|'2') #define MGA_VID_FORMAT_YUY2 (('Y'<<24)|('U'<<16)|('Y'<<8)|'2')
#define MGA_VID_FORMAT_UYVY (('U'<<24)|('Y'<<16)|('V'<<8)|'Y') #define MGA_VID_FORMAT_UYVY (('U'<<24)|('Y'<<16)|('V'<<8)|'Y')
#define MGA_VID_CONFIG _IOR('J', 1, mga_vid_config_t) /* ioctl commands */
#define MGA_VID_ON _IO ('J', 2) #define MGA_VID_GET_VERSION _IOR ('J', 1, uint32_t)
#define MGA_VID_OFF _IO ('J', 3) #define MGA_VID_CONFIG _IOWR('J', 2, mga_vid_config_t)
#define MGA_VID_FSEL _IOR('J', 4, int) #define MGA_VID_ON _IO ('J', 3)
#define MGA_VID_GET_LUMA _IOR('J', 5, int) #define MGA_VID_OFF _IO ('J', 4)
#define MGA_VID_SET_LUMA _IOR('J', 6, int) #define MGA_VID_FSEL _IOW ('J', 5, uint32_t)
#define MGA_VID_GET_LUMA _IOR ('J', 6, uint32_t)
#define MGA_VID_SET_LUMA _IOW ('J', 7, uint32_t)
/* card identifiers */
#define MGA_G200 0x1234 #define MGA_G200 0x1234
#define MGA_G400 0x5678 #define MGA_G400 0x5678
// currently unused, G450 are mapped to MGA_G400 // currently unused, G450 are mapped to MGA_G400
// #define MGA_G450 0x9ABC // #define MGA_G450 0x9ABC
#define MGA_G550 0xDEF0 #define MGA_G550 0xDEF0
#define MGA_VID_VERSION 0x0201 /* version of the mga_vid_config struct */
#define MGA_VID_VERSION 0x0202
#endif /* MPLAYER_MGA_VID_H */ #endif /* MGA_VID_H */

View File

@ -336,47 +336,47 @@ static char *fourcc_format_name(int format)
{ {
switch(format) switch(format)
{ {
case IMGFMT_RGB8: return("RGB 8-bit"); case IMGFMT_RGB8: return "RGB 8-bit";
case IMGFMT_RGB15: return("RGB 15-bit"); case IMGFMT_RGB15: return "RGB 15-bit";
case IMGFMT_RGB16: return("RGB 16-bit"); case IMGFMT_RGB16: return "RGB 16-bit";
case IMGFMT_RGB24: return("RGB 24-bit"); case IMGFMT_RGB24: return "RGB 24-bit";
case IMGFMT_RGB32: return("RGB 32-bit"); case IMGFMT_RGB32: return "RGB 32-bit";
case IMGFMT_BGR8: return("BGR 8-bit"); case IMGFMT_BGR8: return "BGR 8-bit";
case IMGFMT_BGR15: return("BGR 15-bit"); case IMGFMT_BGR15: return "BGR 15-bit";
case IMGFMT_BGR16: return("BGR 16-bit"); case IMGFMT_BGR16: return "BGR 16-bit";
case IMGFMT_BGR24: return("BGR 24-bit"); case IMGFMT_BGR24: return "BGR 24-bit";
case IMGFMT_BGR32: return("BGR 32-bit"); case IMGFMT_BGR32: return "BGR 32-bit";
case IMGFMT_YVU9: return("Planar YVU9"); case IMGFMT_YVU9: return "Planar YVU9";
case IMGFMT_IF09: return("Planar IF09"); case IMGFMT_IF09: return "Planar IF09";
case IMGFMT_YV12: return("Planar YV12"); case IMGFMT_YV12: return "Planar YV12";
case IMGFMT_I420: return("Planar I420"); case IMGFMT_I420: return "Planar I420";
case IMGFMT_IYUV: return("Planar IYUV"); case IMGFMT_IYUV: return "Planar IYUV";
case IMGFMT_CLPL: return("Planar CLPL"); case IMGFMT_CLPL: return "Planar CLPL";
case IMGFMT_Y800: return("Planar Y800"); case IMGFMT_Y800: return "Planar Y800";
case IMGFMT_Y8: return("Planar Y8"); case IMGFMT_Y8: return "Planar Y8";
case IMGFMT_IUYV: return("Packed IUYV"); case IMGFMT_IUYV: return "Packed IUYV";
case IMGFMT_IY41: return("Packed IY41"); case IMGFMT_IY41: return "Packed IY41";
case IMGFMT_IYU1: return("Packed IYU1"); case IMGFMT_IYU1: return "Packed IYU1";
case IMGFMT_IYU2: return("Packed IYU2"); case IMGFMT_IYU2: return "Packed IYU2";
case IMGFMT_UYNV: return("Packed UYNV"); case IMGFMT_UYNV: return "Packed UYNV";
case IMGFMT_cyuv: return("Packed CYUV"); case IMGFMT_cyuv: return "Packed CYUV";
case IMGFMT_Y422: return("Packed Y422"); case IMGFMT_Y422: return "Packed Y422";
case IMGFMT_YUY2: return("Packed YUY2"); case IMGFMT_YUY2: return "Packed YUY2";
case IMGFMT_YUNV: return("Packed YUNV"); case IMGFMT_YUNV: return "Packed YUNV";
case IMGFMT_UYVY: return("Packed UYVY"); case IMGFMT_UYVY: return "Packed UYVY";
// case IMGFMT_YVYU: return("Packed YVYU"); // case IMGFMT_YVYU: return "Packed YVYU";
case IMGFMT_Y41P: return("Packed Y41P"); case IMGFMT_Y41P: return "Packed Y41P";
case IMGFMT_Y211: return("Packed Y211"); case IMGFMT_Y211: return "Packed Y211";
case IMGFMT_Y41T: return("Packed Y41T"); case IMGFMT_Y41T: return "Packed Y41T";
case IMGFMT_Y42T: return("Packed Y42T"); case IMGFMT_Y42T: return "Packed Y42T";
case IMGFMT_V422: return("Packed V422"); case IMGFMT_V422: return "Packed V422";
case IMGFMT_V655: return("Packed V655"); case IMGFMT_V655: return "Packed V655";
case IMGFMT_CLJR: return("Packed CLJR"); case IMGFMT_CLJR: return "Packed CLJR";
case IMGFMT_YUVP: return("Packed YUVP"); case IMGFMT_YUVP: return "Packed YUVP";
case IMGFMT_UYVP: return("Packed UYVP"); case IMGFMT_UYVP: return "Packed UYVP";
case IMGFMT_MPEGPES: return("Mpeg PES"); case IMGFMT_MPEGPES: return "Mpeg PES";
} }
return("Unknown"); return "Unknown";
} }
@ -1110,14 +1110,14 @@ static int radeon_vid_ioctl(struct inode *inode, struct file *file, unsigned int
if(copy_from_user(&frame,(int *) arg,sizeof(int))) if(copy_from_user(&frame,(int *) arg,sizeof(int)))
{ {
printk(RVID_MSG"FSEL failed copy from userspace\n"); printk(RVID_MSG"FSEL failed copy from userspace\n");
return(-EFAULT); return -EFAULT;
} }
radeon_vid_frame_sel(frame); radeon_vid_frame_sel(frame);
break; break;
default: default:
printk(RVID_MSG"Invalid ioctl\n"); printk(RVID_MSG"Invalid ioctl\n");
return (-EINVAL); return -EINVAL;
} }
return 0; return 0;
@ -1405,10 +1405,10 @@ static int radeon_vid_mmap(struct file *file, struct vm_area_struct *vma)
vma->vm_end - vma->vm_start, vma->vm_page_prot)) vma->vm_end - vma->vm_start, vma->vm_page_prot))
{ {
printk(RVID_MSG"error mapping video memory\n"); printk(RVID_MSG"error mapping video memory\n");
return(-EAGAIN); return -EAGAIN;
} }
return(0); return 0;
} }
static int radeon_vid_release(struct inode *inode, struct file *file) static int radeon_vid_release(struct inode *inode, struct file *file)
@ -1430,14 +1430,14 @@ static int radeon_vid_open(struct inode *inode, struct file *file)
int minor = MINOR(inode->i_rdev); int minor = MINOR(inode->i_rdev);
if(minor != 0) if(minor != 0)
return(-ENXIO); return -ENXIO;
if(radeon_vid_in_use == 1) if(radeon_vid_in_use == 1)
return(-EBUSY); return -EBUSY;
radeon_vid_in_use = 1; radeon_vid_in_use = 1;
MOD_INC_USE_COUNT; MOD_INC_USE_COUNT;
return(0); return 0;
} }
#if LINUX_VERSION_CODE >= 0x020400 #if LINUX_VERSION_CODE >= 0x020400
@ -1523,7 +1523,7 @@ static int __init radeon_vid_initialize(void)
printk(RVID_MSG"MTRR set to ON\n"); printk(RVID_MSG"MTRR set to ON\n");
} }
#endif /* CONFIG_MTRR */ #endif /* CONFIG_MTRR */
return(0); return 0;
} }
int __init init_module(void) int __init init_module(void)

View File

@ -258,12 +258,12 @@ static int agp_move(tdfx_vid_agp_move_t* m) {
u32 src_h,src_l; u32 src_h,src_l;
if(!(agp_mem||map_start)) if(!(agp_mem||map_start))
return (-EAGAIN); return -EAGAIN;
if(m->move2 > 3) { if(m->move2 > 3) {
printk(KERN_DEBUG "tdfx_vid: AGP move invalid destination %d\n", printk(KERN_DEBUG "tdfx_vid: AGP move invalid destination %d\n",
m->move2); m->move2);
return (-EAGAIN); return -EAGAIN;
} }
if(map_start) if(map_start)
@ -289,6 +289,7 @@ static int agp_move(tdfx_vid_agp_move_t* m) {
return 0; return 0;
} }
#if 0
static void setup_fifo(u32 offset,ssize_t pages) { static void setup_fifo(u32 offset,ssize_t pages) {
long addr = agp_info.aper_base + offset; long addr = agp_info.aper_base + offset;
u32 size = pages | 0x700; // fifo on, in agp mem, disable hole cnt u32 size = pages | 0x700; // fifo on, in agp mem, disable hole cnt
@ -307,6 +308,7 @@ static void setup_fifo(u32 offset,ssize_t pages) {
banshee_wait_idle(); banshee_wait_idle();
} }
#endif
static int bump_fifo(u16 size) { static int bump_fifo(u16 size) {
@ -511,7 +513,7 @@ static int tdfx_vid_set_yuv(unsigned long arg) {
if(copy_from_user(&yuv,(tdfx_vid_yuv_t*)arg,sizeof(tdfx_vid_yuv_t))) { if(copy_from_user(&yuv,(tdfx_vid_yuv_t*)arg,sizeof(tdfx_vid_yuv_t))) {
printk(KERN_DEBUG "tdfx_vid:failed copy from userspace\n"); printk(KERN_DEBUG "tdfx_vid:failed copy from userspace\n");
return(-EFAULT); return -EFAULT;
} }
banshee_make_room(2); banshee_make_room(2);
tdfx_outl(YUVBASEADDRESS,yuv.base & 0x01FFFFFF); tdfx_outl(YUVBASEADDRESS,yuv.base & 0x01FFFFFF);
@ -530,7 +532,7 @@ static int tdfx_vid_get_yuv(unsigned long arg) {
if(copy_to_user((tdfx_vid_yuv_t*)arg,&yuv,sizeof(tdfx_vid_yuv_t))) { if(copy_to_user((tdfx_vid_yuv_t*)arg,&yuv,sizeof(tdfx_vid_yuv_t))) {
printk(KERN_INFO "tdfx_vid:failed copy to userspace\n"); printk(KERN_INFO "tdfx_vid:failed copy to userspace\n");
return(-EFAULT); return -EFAULT;
} }
return 0; return 0;
@ -544,14 +546,14 @@ static int tdfx_vid_set_overlay(unsigned long arg) {
if(copy_from_user(&ov,(tdfx_vid_overlay_t*)arg,sizeof(tdfx_vid_overlay_t))) { if(copy_from_user(&ov,(tdfx_vid_overlay_t*)arg,sizeof(tdfx_vid_overlay_t))) {
printk(KERN_DEBUG "tdfx_vid:failed copy from userspace\n"); printk(KERN_DEBUG "tdfx_vid:failed copy from userspace\n");
return(-EFAULT); return -EFAULT;
} }
if(ov.dst_y < 0) { if(ov.dst_y < 0) {
int shift; int shift;
if(-ov.dst_y >= ov.src_height) { if(-ov.dst_y >= ov.src_height) {
printk(KERN_DEBUG "tdfx_vid: Overlay outside of the screen ????\n"); printk(KERN_DEBUG "tdfx_vid: Overlay outside of the screen ????\n");
return(-EFAULT); return -EFAULT;
} }
shift = (-ov.dst_y)/(double)ov.dst_height*ov.src_height; shift = (-ov.dst_y)/(double)ov.dst_height*ov.src_height;
ov.src[0] += shift*ov.src_stride; ov.src[0] += shift*ov.src_stride;
@ -564,7 +566,7 @@ static int tdfx_vid_set_overlay(unsigned long arg) {
int shift; int shift;
if(-ov.dst_x >= ov.src_width) { if(-ov.dst_x >= ov.src_width) {
printk(KERN_DEBUG "tdfx_vid: Overlay outside of the screen ????\n"); printk(KERN_DEBUG "tdfx_vid: Overlay outside of the screen ????\n");
return(-EFAULT); return -EFAULT;
} }
shift = (-ov.dst_x)/(double)ov.dst_width*ov.src_width; shift = (-ov.dst_x)/(double)ov.dst_width*ov.src_width;
shift = ((shift+3)/2)*2; shift = ((shift+3)/2)*2;
@ -592,7 +594,7 @@ static int tdfx_vid_set_overlay(unsigned long arg) {
break; break;
default: default:
printk(KERN_DEBUG "tdfx_vid: Invalid overlay fmt 0x%x\n",ov.format); printk(KERN_DEBUG "tdfx_vid: Invalid overlay fmt 0x%x\n",ov.format);
return (-EFAULT); return -EFAULT;
} }
// YUV422 need 4 bytes aligned stride and address // YUV422 need 4 bytes aligned stride and address
@ -600,11 +602,11 @@ static int tdfx_vid_set_overlay(unsigned long arg) {
ov.format == TDFX_VID_FORMAT_UYVY)) { ov.format == TDFX_VID_FORMAT_UYVY)) {
if((ov.src_stride & ~0x3) != ov.src_stride) { if((ov.src_stride & ~0x3) != ov.src_stride) {
printk(KERN_DEBUG "tdfx_vid: YUV need a 4 bytes aligned stride %d\n",ov.src_stride); printk(KERN_DEBUG "tdfx_vid: YUV need a 4 bytes aligned stride %d\n",ov.src_stride);
return(-EFAULT); return -EFAULT;
} }
if((ov.src[0] & ~0x3) != ov.src[0] || (ov.src[1] & ~0x3) != ov.src[1]){ if((ov.src[0] & ~0x3) != ov.src[0] || (ov.src[1] & ~0x3) != ov.src[1]){
printk(KERN_DEBUG "tdfx_vid: YUV need a 4 bytes aligned address 0x%x 0x%x\n",ov.src[0],ov.src[1]); printk(KERN_DEBUG "tdfx_vid: YUV need a 4 bytes aligned address 0x%x 0x%x\n",ov.src[0],ov.src[1]);
return(-EFAULT); return -EFAULT;
} }
} }
@ -622,7 +624,7 @@ static int tdfx_vid_set_overlay(unsigned long arg) {
if(ov.dst_x >= screen_w || ov.dst_y >= screen_h || if(ov.dst_x >= screen_w || ov.dst_y >= screen_h ||
disp_h <= 0 || disp_h > screen_h || disp_w <= 0 || disp_w > screen_w) { disp_h <= 0 || disp_h > screen_h || disp_w <= 0 || disp_w > screen_w) {
printk(KERN_DEBUG "tdfx_vid: Invalid overlay dimension and/or position\n"); printk(KERN_DEBUG "tdfx_vid: Invalid overlay dimension and/or position\n");
return (-EFAULT); return -EFAULT;
} }
// Setup the vidproc // Setup the vidproc
// H scaling // H scaling
@ -702,7 +704,7 @@ static int tdfx_vid_overlay_on(void) {
//return 0; //return 0;
if(vidcfg & (1<<8)) { // Overlay is already on if(vidcfg & (1<<8)) { // Overlay is already on
//printk(KERN_DEBUG "tdfx_vid: Overlay is already on.\n"); //printk(KERN_DEBUG "tdfx_vid: Overlay is already on.\n");
return (-EFAULT); return -EFAULT;
} }
vidcfg |= (1<<8); vidcfg |= (1<<8);
tdfx_outl(VIDPROCCFG,vidcfg); tdfx_outl(VIDPROCCFG,vidcfg);
@ -719,7 +721,7 @@ static int tdfx_vid_overlay_off(void) {
} }
printk(KERN_DEBUG "tdfx_vid: Overlay is already off.\n"); printk(KERN_DEBUG "tdfx_vid: Overlay is already off.\n");
return (-EFAULT); return -EFAULT;
} }
@ -734,34 +736,34 @@ static int tdfx_vid_ioctl(struct inode *inode, struct file *file, unsigned int c
case TDFX_VID_AGP_MOVE: case TDFX_VID_AGP_MOVE:
if(copy_from_user(&move,(tdfx_vid_agp_move_t*)arg,sizeof(tdfx_vid_agp_move_t))) { if(copy_from_user(&move,(tdfx_vid_agp_move_t*)arg,sizeof(tdfx_vid_agp_move_t))) {
printk(KERN_INFO "tdfx_vid:failed copy from userspace\n"); printk(KERN_INFO "tdfx_vid:failed copy from userspace\n");
return(-EFAULT); return -EFAULT;
} }
return agp_move(&move); return agp_move(&move);
case TDFX_VID_BUMP0: case TDFX_VID_BUMP0:
if(copy_from_user(&int16,(u16*)arg,sizeof(u16))) { if(copy_from_user(&int16,(u16*)arg,sizeof(u16))) {
printk(KERN_INFO "tdfx_vid:failed copy from userspace\n"); printk(KERN_INFO "tdfx_vid:failed copy from userspace\n");
return(-EFAULT); return -EFAULT;
} }
return bump_fifo(int16); return bump_fifo(int16);
case TDFX_VID_BLIT: case TDFX_VID_BLIT:
if(copy_from_user(&blit,(tdfx_vid_blit_t*)arg,sizeof(tdfx_vid_blit_t))) { if(copy_from_user(&blit,(tdfx_vid_blit_t*)arg,sizeof(tdfx_vid_blit_t))) {
printk(KERN_INFO "tdfx_vid:failed copy from userspace\n"); printk(KERN_INFO "tdfx_vid:failed copy from userspace\n");
return(-EFAULT); return -EFAULT;
} }
if(!tdfx_vid_blit(&blit)) { if(!tdfx_vid_blit(&blit)) {
printk(KERN_INFO "tdfx_vid: Blit failed\n"); printk(KERN_INFO "tdfx_vid: Blit failed\n");
return(-EFAULT); return -EFAULT;
} }
return 0; return 0;
case TDFX_VID_GET_CONFIG: case TDFX_VID_GET_CONFIG:
if(copy_from_user(&cfg,(tdfx_vid_config_t*)arg,sizeof(tdfx_vid_config_t))) { if(copy_from_user(&cfg,(tdfx_vid_config_t*)arg,sizeof(tdfx_vid_config_t))) {
printk(KERN_INFO "tdfx_vid:failed copy from userspace\n"); printk(KERN_INFO "tdfx_vid:failed copy from userspace\n");
return(-EFAULT); return -EFAULT;
} }
tdfx_vid_get_config(&cfg); tdfx_vid_get_config(&cfg);
if(copy_to_user((tdfx_vid_config_t*)arg,&cfg,sizeof(tdfx_vid_config_t))) { if(copy_to_user((tdfx_vid_config_t*)arg,&cfg,sizeof(tdfx_vid_config_t))) {
printk(KERN_INFO "tdfx_vid:failed copy to userspace\n"); printk(KERN_INFO "tdfx_vid:failed copy to userspace\n");
return(-EFAULT); return -EFAULT;
} }
return 0; return 0;
case TDFX_VID_SET_YUV: case TDFX_VID_SET_YUV:
@ -776,7 +778,7 @@ static int tdfx_vid_ioctl(struct inode *inode, struct file *file, unsigned int c
return tdfx_vid_overlay_off(); return tdfx_vid_overlay_off();
default: default:
printk(KERN_ERR "tdfx_vid: Invalid ioctl %d\n",cmd); printk(KERN_ERR "tdfx_vid: Invalid ioctl %d\n",cmd);
return (-EINVAL); return -EINVAL;
} }
return 0; return 0;
} }
@ -846,13 +848,13 @@ static struct page *tdfx_vid_nopage(struct vm_area_struct *vma,
if(n >= agp_mem->page_count) { if(n >= agp_mem->page_count) {
printk(KERN_DEBUG "tdfx_vid: Too far away\n"); printk(KERN_DEBUG "tdfx_vid: Too far away\n");
return ((struct page *)0UL); return (struct page *)0UL;
} }
phys = agp_mem->memory[n] & ~(0x00000fff); phys = agp_mem->memory[n] & ~(0x00000fff);
page = virt_to_page(phys_to_virt(phys)); page = virt_to_page(phys_to_virt(phys));
if(!page) { if(!page) {
printk(KERN_DEBUG "tdfx_vid: Can't get the page\n"); printk(KERN_DEBUG "tdfx_vid: Can't get the page\n");
return ((struct page *)0UL); return (struct page *)0UL;
} }
return page; return page;
} }
@ -877,7 +879,7 @@ static int tdfx_vid_mmap(struct file *file, struct vm_area_struct *vma)
if(map_start) { // Ok we map directly in the physcal ram if(map_start) { // Ok we map directly in the physcal ram
if(size*PAGE_SIZE > map_max) { if(size*PAGE_SIZE > map_max) {
printk(KERN_ERR "tdfx_vid: Not enouth mem\n"); printk(KERN_ERR "tdfx_vid: Not enouth mem\n");
return(-EAGAIN); return -EAGAIN;
} }
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,3) #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,3)
if(remap_page_range(vma, vma->vm_start,map_start, if(remap_page_range(vma, vma->vm_start,map_start,
@ -888,26 +890,26 @@ static int tdfx_vid_mmap(struct file *file, struct vm_area_struct *vma)
#endif #endif
{ {
printk(KERN_ERR "tdfx_vid: error mapping video memory\n"); printk(KERN_ERR "tdfx_vid: error mapping video memory\n");
return(-EAGAIN); return -EAGAIN;
} }
printk(KERN_INFO "Physical mem 0x%lx mapped in userspace\n",map_start); printk(KERN_INFO "Physical mem 0x%lx mapped in userspace\n",map_start);
return 0; return 0;
} }
if(agp_mem) if(agp_mem)
return(-EAGAIN); return -EAGAIN;
agp_mem = drm_agp->allocate_memory(size,AGP_NORMAL_MEMORY); agp_mem = drm_agp->allocate_memory(size,AGP_NORMAL_MEMORY);
if(!agp_mem) { if(!agp_mem) {
printk(KERN_ERR "Failed to allocate AGP memory\n"); printk(KERN_ERR "Failed to allocate AGP memory\n");
return(-ENOMEM); return -ENOMEM;
} }
if(drm_agp->bind_memory(agp_mem,0)) { if(drm_agp->bind_memory(agp_mem,0)) {
printk(KERN_ERR "Failed to bind the AGP memory\n"); printk(KERN_ERR "Failed to bind the AGP memory\n");
drm_agp->free_memory(agp_mem); drm_agp->free_memory(agp_mem);
agp_mem = NULL; agp_mem = NULL;
return(-ENOMEM); return -ENOMEM;
} }
printk(KERN_INFO "%d pages of AGP mem allocated (%ld/%ld bytes) :)))\n", printk(KERN_INFO "%d pages of AGP mem allocated (%ld/%ld bytes) :)))\n",
@ -924,7 +926,7 @@ static int tdfx_vid_mmap(struct file *file, struct vm_area_struct *vma)
#endif #endif
{ {
printk(KERN_ERR "tdfx_vid: error mapping video memory\n"); printk(KERN_ERR "tdfx_vid: error mapping video memory\n");
return(-EAGAIN); return -EAGAIN;
} }
} else { } else {
// Never swap it out // Never swap it out
@ -971,14 +973,14 @@ static int tdfx_vid_open(struct inode *inode, struct file *file)
#endif #endif
if(minor != 0) if(minor != 0)
return(-ENXIO); return -ENXIO;
if(tdfx_vid_in_use == 1) if(tdfx_vid_in_use == 1)
return(-EBUSY); return -EBUSY;
tdfx_vid_in_use = 1; tdfx_vid_in_use = 1;
MOD_INC_USE_COUNT; MOD_INC_USE_COUNT;
return(0); return 0;
} }
#if LINUX_VERSION_CODE >= 0x020400 #if LINUX_VERSION_CODE >= 0x020400
@ -1033,7 +1035,7 @@ int init_module(void)
return (0); return 0;
} }

View File

@ -700,7 +700,7 @@ videocodec ffwv1f
out YV12,I420,IYUV flip out YV12,I420,IYUV flip
videocodec xvid videocodec xvid
info "XviD (MPEG-4)" info "Xvid (MPEG-4)"
status working status working
fourcc FMP4,fmp4 fourcc FMP4,fmp4
fourcc DIVX,divx fourcc DIVX,divx
@ -2265,6 +2265,7 @@ videocodec rawbgr16flip
status working status working
driver raw driver raw
format 0x0 format 0x0
format 0x10424752 0x0
out BGR16 flip out BGR16 flip
videocodec rawbgr16 videocodec rawbgr16
@ -2787,6 +2788,13 @@ audiocodec ffadpcmea
driver ffmpeg driver ffmpeg
dll adpcm_ea dll adpcm_ea
audiocodec ffadpcmeamaxis
info "FFmpeg EA MAXIS XA ADPCM audio"
status working
fourcc ADXA ; internal MPlayer FourCC
driver ffmpeg
dll adpcm_ea_maxis_xa
audiocodec ffxandpcm audiocodec ffxandpcm
info "FFmpeg XAN DPCM audio" info "FFmpeg XAN DPCM audio"
comment "only works with libavformat demuxer" comment "only works with libavformat demuxer"

View File

@ -117,7 +117,7 @@ AR_NEXT seek 30
AR_NEXT_HOLD seek 120 AR_NEXT_HOLD seek 120
AR_PREV seek -10 AR_PREV seek -10
AR_PREV_HOLD seek -120 AR_PREV_HOLD seek -120
AR_MENU osd AR_MENU menu up
#AR_MENU menu cancel #AR_MENU menu cancel
AR_MENU_HOLD mute AR_MENU_HOLD mute
AR_VUP volume 1 AR_VUP volume 1
@ -157,5 +157,12 @@ ESC {dvdnav} dvdnav 5 # DVDNav MENU
ENTER {dvdnav} dvdnav 6 # DVDNav SELECT (ok) ENTER {dvdnav} dvdnav 6 # DVDNav SELECT (ok)
BS {dvdnav} dvdnav 7 # DVDNav PREVIOUS menu (in the order chapter->title->root) BS {dvdnav} dvdnav 7 # DVDNav PREVIOUS menu (in the order chapter->title->root)
AR_VUP {dvdnav} dvdnav 1 # DVDNav UP
AR_VDOWN {dvdnav} dvdnav 2 # DVDNav DOWN
AR_PREV {dvdnav} dvdnav 3 # DVDNav LEFT
AR_NEXT {dvdnav} dvdnav 4 # DVDNav RIGHT
AR_MENU {dvdnav} dvdnav 5 # DVDNav MENU
AR_PLAY {dvdnav} dvdnav 6 # DVDNav SELECT (ok)
#? seek_chapter -1 # skip to previous dvd chapter #? seek_chapter -1 # skip to previous dvd chapter
#? seek_chapter +1 # next #? seek_chapter +1 # next

62
help/help_create.sh Executable file
View File

@ -0,0 +1,62 @@
#!/bin/sh
# Create the messages header file from the master source file or a translation.
# Missing messages are filled in from the master message file and, if
# requested, character set conversion is performed.
MASTER=help/help_mp-en.h
TARGET=help_mp.h
TRANSLATION=$1
CHARSET=$2
missing_messages(){
curr=""
while read -r line; do
if echo "$line" | grep -q '^#define' ; then
curr=`printf "%s\n" "$line" | cut -d ' ' -f 2`
if grep -q "^#define $curr[ ]" "$TRANSLATION" ; then
curr=""
fi
else
if [ -z "$line" ]; then
curr=""
fi
fi
if [ -n "$curr" ]; then
printf "%s\n" "$line"
fi
done
}
cat <<EOF > "$TARGET"
/* WARNING! This is a generated file, do NOT edit.
* See the help/ subdirectory for the editable files. */
#ifndef MPLAYER_HELP_MP_H
#define MPLAYER_HELP_MP_H
EOF
cat "$TRANSLATION" >> "$TARGET"
cat <<EOF >> "$TARGET"
/* untranslated messages from the English master file */
EOF
if test "$MASTER" != "$TRANSLATION" ; then
missing_messages < "$MASTER" >> "$TARGET"
fi
cat <<EOF >> "$TARGET"
#endif /* MPLAYER_HELP_MP_H */
EOF
if test $CHARSET != UTF-8 ; then
iconv -f UTF-8 -t "$CHARSET" "$TARGET" > "${TARGET}.tmp"
mv "${TARGET}.tmp" "$TARGET"
fi

View File

@ -1,26 +0,0 @@
#!/bin/sh
# This script walks through the master (stdin) help/message file, and
# prints (stdout) only those messages which are missing from the help
# file given as parameter ($1).
#
# Example: help_diff.sh help_mp-hu.h < help_mp-en.h > missing.h
curr=""
while read -r line; do
if echo "$line" | grep '^#define' > /dev/null 2>&1; then
curr=`printf "%s\n" "$line" | cut -d ' ' -f 2`
if grep "^#define $curr[ ]" $1 > /dev/null 2>&1; then
curr=""
fi
else
if [ -z "$line" ]; then
curr=""
fi
fi
if [ -n "$curr" ]; then
printf "%s\n" "$line"
fi
done

View File

@ -155,8 +155,6 @@ static char help_text[]=
#define MSGTR_MenuInitialized "Менюто е инициализирано: %s\n" #define MSGTR_MenuInitialized "Менюто е инициализирано: %s\n"
#define MSGTR_MenuInitFailed "Менюто не може да бъде инициализирано.\n" #define MSGTR_MenuInitFailed "Менюто не може да бъде инициализирано.\n"
#define MSGTR_Getch2InitializedTwice "Внимание: Функцията getch2_init е извикана двукратно!\n" #define MSGTR_Getch2InitializedTwice "Внимание: Функцията getch2_init е извикана двукратно!\n"
#define MSGTR_DumpstreamFdUnavailable "Потока не може да бъде извлечен - няма наличен 'fd'.\n"
#define MSGTR_FallingBackOnPlaylist "Повторен опит за обработка на playlist %s...\n"
#define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "Видео филтъра libmenu не може да бъде отворен без root меню %s.\n" #define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "Видео филтъра libmenu не може да бъде отворен без root меню %s.\n"
#define MSGTR_AudioFilterChainPreinitError "Грешка при предварителна инициализация на аудио филтрите!\n" #define MSGTR_AudioFilterChainPreinitError "Грешка при предварителна инициализация на аудио филтрите!\n"
#define MSGTR_LinuxRTCReadError "Linux RTC грешка при четене: %s\n" #define MSGTR_LinuxRTCReadError "Linux RTC грешка при четене: %s\n"
@ -445,7 +443,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "'%s' не може да бъде отворен през LAN\n" #define MSGTR_SMBFileNotFound "'%s' не може да бъде отворен през LAN\n"
#define MSGTR_SMBNotCompiled "MPlayer не е компилиран със поддръжка на четене от SMB.\n" #define MSGTR_SMBNotCompiled "MPlayer не е компилиран със поддръжка на четене от SMB.\n"
#define MSGTR_CantOpenDVD "Не може да бъде отворено DVD устройство: %s\n" #define MSGTR_CantOpenDVD "Не може да бъде отворено DVD устройство: %s (%s)\n"
#define MSGTR_DVDnumTitles "Има %d заглавия на това DVD.\n" #define MSGTR_DVDnumTitles "Има %d заглавия на това DVD.\n"
#define MSGTR_DVDinvalidTitle "Невалиден номер на DVD заглавие: %d\n" #define MSGTR_DVDinvalidTitle "Невалиден номер на DVD заглавие: %d\n"
#define MSGTR_DVDnumChapters "Има %d раздела в това DVD заглавие.\n" #define MSGTR_DVDnumChapters "Има %d раздела в това DVD заглавие.\n"

View File

@ -529,7 +529,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "Nemohu otevřít soubor ze sítě: '%s'\n" #define MSGTR_SMBFileNotFound "Nemohu otevřít soubor ze sítě: '%s'\n"
#define MSGTR_SMBNotCompiled "MPlayer nebyl přeložen s podporou čtení SMB.\n" #define MSGTR_SMBNotCompiled "MPlayer nebyl přeložen s podporou čtení SMB.\n"
#define MSGTR_CantOpenDVD "Nelze otevřít DVD zařízení: %s\n" #define MSGTR_CantOpenDVD "Nelze otevřít DVD zařízení: %s (%s)\n"
// stream_dvd.c // stream_dvd.c
#define MSGTR_DVDspeedCantOpen "Nemohu otevřít DVD zařízení pro zápis, změna DVD rychlosti vyžaduje právo zápisu.\n" #define MSGTR_DVDspeedCantOpen "Nemohu otevřít DVD zařízení pro zápis, změna DVD rychlosti vyžaduje právo zápisu.\n"

View File

@ -547,7 +547,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "Konnte '%s' nicht über das Netzwerk öffnen.\n" #define MSGTR_SMBFileNotFound "Konnte '%s' nicht über das Netzwerk öffnen.\n"
#define MSGTR_SMBNotCompiled "MPlayer wurde ohne SMB-Unterstützung kompiliert.\n" #define MSGTR_SMBNotCompiled "MPlayer wurde ohne SMB-Unterstützung kompiliert.\n"
#define MSGTR_CantOpenDVD "Kann DVD-Laufwerk nicht öffnen: %s\n" #define MSGTR_CantOpenDVD "Kann DVD-Laufwerk nicht öffnen: %s (%s)\n"
// stream_dvd.c // stream_dvd.c
#define MSGTR_DVDspeedCantOpen "Kann DVD-Laufwerk nicht zum Schreiben öffnen, setzen der DVD-Geschwindigkeit\nbenötigt Schreibzugriff.\n" #define MSGTR_DVDspeedCantOpen "Kann DVD-Laufwerk nicht zum Schreiben öffnen, setzen der DVD-Geschwindigkeit\nbenötigt Schreibzugriff.\n"

View File

@ -223,7 +223,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "Kunne ikke åbne netværksadressen '%s'\n" #define MSGTR_SMBFileNotFound "Kunne ikke åbne netværksadressen '%s'\n"
#define MSGTR_SMBNotCompiled "MPlayer er ikke blevet kompileret med SMB læse-understøttelse\n" #define MSGTR_SMBNotCompiled "MPlayer er ikke blevet kompileret med SMB læse-understøttelse\n"
#define MSGTR_CantOpenDVD "Kunne ikke åbne DVD drev: %s\n" #define MSGTR_CantOpenDVD "Kunne ikke åbne DVD drev: %s (%s)\n"
#define MSGTR_DVDnumTitles "Der er %d titler på denne DVD.\n" #define MSGTR_DVDnumTitles "Der er %d titler på denne DVD.\n"
#define MSGTR_DVDinvalidTitle "Ugyldig DVD-titel: %d\n" #define MSGTR_DVDinvalidTitle "Ugyldig DVD-titel: %d\n"
#define MSGTR_DVDnumChapters "Der er %d kapitler i denne DVD-titel.\n" #define MSGTR_DVDnumChapters "Der er %d kapitler i denne DVD-titel.\n"

View File

@ -222,7 +222,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "Δεν μπόρεσα να ανοίξω από το τοπικό δίκτυο: '%s'\n" #define MSGTR_SMBFileNotFound "Δεν μπόρεσα να ανοίξω από το τοπικό δίκτυο: '%s'\n"
#define MSGTR_SMBNotCompiled "MPlayer δεν μεταφράστηκε με υποστήριξη ανάγνωσης SMB\n" #define MSGTR_SMBNotCompiled "MPlayer δεν μεταφράστηκε με υποστήριξη ανάγνωσης SMB\n"
#define MSGTR_CantOpenDVD "Δεν μπόρεσα να ανοίξω την συσκευή DVD: %s\n" #define MSGTR_CantOpenDVD "Δεν μπόρεσα να ανοίξω την συσκευή DVD: %s (%s)\n"
#define MSGTR_DVDnumTitles "Υπάρχουν %d τίτλοι στο DVD.\n" #define MSGTR_DVDnumTitles "Υπάρχουν %d τίτλοι στο DVD.\n"
#define MSGTR_DVDinvalidTitle "Άκυρος αριθμός για τον τίτλο του DVD: %d\n" #define MSGTR_DVDinvalidTitle "Άκυρος αριθμός για τον τίτλο του DVD: %d\n"
#define MSGTR_DVDnumChapters "Υπάρχουν %d κεφάλαια σε αυτόν τον τίτλο του DVD.\n" #define MSGTR_DVDnumChapters "Υπάρχουν %d κεφάλαια σε αυτόν τον τίτλο του DVD.\n"

View File

@ -1296,6 +1296,12 @@ static char help_text[]=
#define MSGTR_INPUT_JOYSTICK_WarnLostSync "Joystick: warning init event, we have lost sync with driver.\n" #define MSGTR_INPUT_JOYSTICK_WarnLostSync "Joystick: warning init event, we have lost sync with driver.\n"
#define MSGTR_INPUT_JOYSTICK_WarnUnknownEvent "Joystick warning unknown event type %d\n" #define MSGTR_INPUT_JOYSTICK_WarnUnknownEvent "Joystick warning unknown event type %d\n"
// appleir.c
#define MSGTR_INPUT_APPLE_IR_Init "Initializing Apple IR on %s\n"
#define MSGTR_INPUT_APPLE_IR_Detect "Detected Apple IR on %s\n"
#define MSGTR_INPUT_APPLE_IR_CantOpen "Can't open Apple IR device: %s\n"
// input.c // input.c
#define MSGTR_INPUT_INPUT_ErrCantRegister2ManyCmdFds "Too many command file descriptors, cannot register file descriptor %d.\n" #define MSGTR_INPUT_INPUT_ErrCantRegister2ManyCmdFds "Too many command file descriptors, cannot register file descriptor %d.\n"
@ -1705,7 +1711,8 @@ static char help_text[]=
#define MSGTR_LIBVO_MGA_InvalidOutputFormat "[MGA] invalid output format %0X\n" #define MSGTR_LIBVO_MGA_InvalidOutputFormat "[MGA] invalid output format %0X\n"
#define MSGTR_LIBVO_MGA_IncompatibleDriverVersion "[MGA] Your mga_vid driver version is incompatible with this MPlayer version!\n" #define MSGTR_LIBVO_MGA_IncompatibleDriverVersion "[MGA] Your mga_vid driver version is incompatible with this MPlayer version!\n"
#define MSGTR_LIBVO_MGA_CouldntOpen "[MGA] Couldn't open: %s\n" #define MSGTR_LIBVO_MGA_CouldntOpen "[MGA] Couldn't open: %s\n"
#define MGSTR_LIBVO_MGA_ResolutionTooHigh "[MGA] Source resolution is in at least one dimension larger than 1023x1023. Please rescale in software or use -lavdopts lowres=1\n" #define MGSTR_LIBVO_MGA_ResolutionTooHigh "[MGA] Source resolution exceeds 1023x1023 in at least one dimension.\n[MGA] Rescale in software or use -lavdopts lowres=1.\n"
#define MGSTR_LIBVO_MGA_mgavidVersionMismatch "[MGA] mismatch between kernel (%u) and MPlayer (%u) mga_vid driver versions\n"
// libvo/vesa_lvo.c // libvo/vesa_lvo.c

View File

@ -174,7 +174,6 @@ static char help_text[]=
#define MSGTR_MenuInitFailed "Fallo en inicialización del menú.\n" #define MSGTR_MenuInitFailed "Fallo en inicialización del menú.\n"
#define MSGTR_Getch2InitializedTwice "ADVERTENCIA: getch2_init llamada dos veces!\n" #define MSGTR_Getch2InitializedTwice "ADVERTENCIA: getch2_init llamada dos veces!\n"
#define MSGTR_DumpstreamFdUnavailable "No puedo volcar este stream - no está disponible 'fd'.\n" #define MSGTR_DumpstreamFdUnavailable "No puedo volcar este stream - no está disponible 'fd'.\n"
#define MSGTR_FallingBackOnPlaylist "No pude procesar el playlist %s...\n"
#define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "No puedo abrir filtro de video libmenu con el menú principal %s.\n" #define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "No puedo abrir filtro de video libmenu con el menú principal %s.\n"
#define MSGTR_AudioFilterChainPreinitError "Error en pre-inicialización de cadena de filtros de audio!\n" #define MSGTR_AudioFilterChainPreinitError "Error en pre-inicialización de cadena de filtros de audio!\n"
#define MSGTR_LinuxRTCReadError "Error de lectura de Linux RTC: %s\n" #define MSGTR_LinuxRTCReadError "Error de lectura de Linux RTC: %s\n"
@ -546,7 +545,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "No se puede abrir desde la RED: '%s'\n" #define MSGTR_SMBFileNotFound "No se puede abrir desde la RED: '%s'\n"
#define MSGTR_SMBNotCompiled "MPlayer no fue compilado con soporte de lectura de SMB.\n" #define MSGTR_SMBNotCompiled "MPlayer no fue compilado con soporte de lectura de SMB.\n"
#define MSGTR_CantOpenDVD "No se puede abrir el dispositivo de DVD: %s\n" #define MSGTR_CantOpenDVD "No se puede abrir el dispositivo de DVD: %s (%s)\n"
// stream_dvd.c // stream_dvd.c
#define MSGTR_DVDspeedCantOpen "No se ha podido abrir el dispositivo de DVD para escritura, cambiar la velocidad del DVD requiere acceso de escritura\n" #define MSGTR_DVDspeedCantOpen "No se ha podido abrir el dispositivo de DVD para escritura, cambiar la velocidad del DVD requiere acceso de escritura\n"
@ -1184,8 +1183,6 @@ static char help_text[]=
"[AO_ALSA] device=<nombre-dispositivo>\n"\ "[AO_ALSA] device=<nombre-dispositivo>\n"\
"[AO_ALSA] Establece el dispositivo (cambiar , por . y : por =)\n" "[AO_ALSA] Establece el dispositivo (cambiar , por . y : por =)\n"
#define MSGTR_AO_ALSA_ChannelsNotSupported "[AO_ALSA] %d canales no están soportados.\n" #define MSGTR_AO_ALSA_ChannelsNotSupported "[AO_ALSA] %d canales no están soportados.\n"
#define MSGTR_AO_ALSA_CannotReadAlsaConfiguration "[AO_ALSA] No se puede leer la configuración de ALSA: %s\n"
#define MSGTR_AO_ALSA_CannotCopyConfiguration "[AO_ALSA] No se puede copiar la configuración: %s\n"
#define MSGTR_AO_ALSA_OpenInNonblockModeFailed "[AO_ALSA] La apertura en modo sin bloqueo ha fallado, intentando abrir en modo bloqueo.\n" #define MSGTR_AO_ALSA_OpenInNonblockModeFailed "[AO_ALSA] La apertura en modo sin bloqueo ha fallado, intentando abrir en modo bloqueo.\n"
#define MSGTR_AO_ALSA_PlaybackOpenError "[AO_ALSA] Error de apertura en la reproducción: %s\n" #define MSGTR_AO_ALSA_PlaybackOpenError "[AO_ALSA] Error de apertura en la reproducción: %s\n"
#define MSGTR_AO_ALSA_ErrorSetBlockMode "[AL_ALSA] Error estableciendo el modo bloqueo %s.\n" #define MSGTR_AO_ALSA_ErrorSetBlockMode "[AL_ALSA] Error estableciendo el modo bloqueo %s.\n"
@ -1967,7 +1964,6 @@ static char help_text[]=
#define MSGTR_RADIO_CaptureStarting "[radio] Empezando con la captura.\n" #define MSGTR_RADIO_CaptureStarting "[radio] Empezando con la captura.\n"
#define MSGTR_RADIO_ClearBufferFailed "[radio] Fallo al limpiar el buffer: %s\n" #define MSGTR_RADIO_ClearBufferFailed "[radio] Fallo al limpiar el buffer: %s\n"
#define MSGTR_RADIO_StreamEnableCacheFailed "[radio] Llamada fallida a stream_enable_cache: %s\n" #define MSGTR_RADIO_StreamEnableCacheFailed "[radio] Llamada fallida a stream_enable_cache: %s\n"
#define MSGTR_RADIO_DriverUnknownId "[radio] Id de driver desconocido: %d\n"
#define MSGTR_RADIO_DriverUnknownStr "[radio] Nombre de driver desconocido: %s\n" #define MSGTR_RADIO_DriverUnknownStr "[radio] Nombre de driver desconocido: %s\n"
#define MSGTR_RADIO_DriverV4L2 "[radio] Utilizando interfaz de radio V4Lv2.\n" #define MSGTR_RADIO_DriverV4L2 "[radio] Utilizando interfaz de radio V4Lv2.\n"
#define MSGTR_RADIO_DriverV4L "[radio] Utilizando interfaz de radio V4Lv1.\n" #define MSGTR_RADIO_DriverV4L "[radio] Utilizando interfaz de radio V4Lv1.\n"
@ -2030,7 +2026,6 @@ static char help_text[]=
#define MSGTR_LIBASS_EmptyEvent "[ass] Evento vacío!\n" #define MSGTR_LIBASS_EmptyEvent "[ass] Evento vacío!\n"
#define MSGTR_LIBASS_MAX_GLYPHS_Reached "[ass] MAX_GLYPHS alcanzado: evento %d, comienzo = %llu, duración = %llu\n Texto = %s\n" #define MSGTR_LIBASS_MAX_GLYPHS_Reached "[ass] MAX_GLYPHS alcanzado: evento %d, comienzo = %llu, duración = %llu\n Texto = %s\n"
#define MSGTR_LIBASS_EventHeightHasChanged "[ass] ¡Aviso! ¡El tamaño del evento ha cambiado! \n" #define MSGTR_LIBASS_EventHeightHasChanged "[ass] ¡Aviso! ¡El tamaño del evento ha cambiado! \n"
#define MSGTR_LIBASS_TooManySimultaneousEvents "[ass] Demasiados eventos simultáneos!\n"
// ass_font.c // ass_font.c
#define MSGTR_LIBASS_GlyphNotFoundReselectingFont "[ass] Glifo 0x%X no encontrado, seleccionando la fuente para (%s, %d, %d)\n" #define MSGTR_LIBASS_GlyphNotFoundReselectingFont "[ass] Glifo 0x%X no encontrado, seleccionando la fuente para (%s, %d, %d)\n"

View File

@ -1,6 +1,7 @@
// Last sync on 2006-11-09 with help_mp-en.h 20191 // Last sync on 2006-11-09 with help_mp-en.h 20191
// Additionnal updates, fixes and translations by P Lombard <p_l@gmx.fr> // Additionnal updates, fixes and translations by P Lombard <p_l@gmx.fr>
// G Pelletier <pellgill@gmail.com> & A Coutherez <newt@neopulsar.org> // G Pelletier <pellgill@gmail.com> & A Coutherez <newt@neopulsar.org>
// C Dumez-Viou <viou@obs-nancay.fr>
// Updates & fixes by pl <p_l@gmx.fr> & n.le gaillart <n@tourmentine.com> // Updates & fixes by pl <p_l@gmx.fr> & n.le gaillart <n@tourmentine.com>
// Original translation by Firebird <firebird@chez.com> // Original translation by Firebird <firebird@chez.com>
@ -146,6 +147,8 @@ static char help_text[]=
" et suivre les instructions. Nous pourrons et voudrons vous aider si vous\n"\ " et suivre les instructions. Nous pourrons et voudrons vous aider si vous\n"\
" fournissiez ces informations en rapportant un bogue possible.\n" " fournissiez ces informations en rapportant un bogue possible.\n"
#define MSGTR_LoadingConfig "Chargement du fichier de configuration '%s'\n" #define MSGTR_LoadingConfig "Chargement du fichier de configuration '%s'\n"
#define MSGTR_LoadingProtocolProfile "Chargement du profil de protocol '%s'\n"
#define MSGTR_LoadingExtensionProfile "Chargement du profil d'extension '%s'\n"
#define MSGTR_AddedSubtitleFile "SUB : fichier sous-titres ajouté (%d): %s\n" #define MSGTR_AddedSubtitleFile "SUB : fichier sous-titres ajouté (%d): %s\n"
#define MSGTR_RemovedSubtitleFile "SUB : fichier sous-titres enlevé (%d): %s\n" #define MSGTR_RemovedSubtitleFile "SUB : fichier sous-titres enlevé (%d): %s\n"
#define MSGTR_ErrorOpeningOutputFile "Erreur d'ouverture du fichier [%s] en écriture !\n" #define MSGTR_ErrorOpeningOutputFile "Erreur d'ouverture du fichier [%s] en écriture !\n"
@ -160,7 +163,6 @@ static char help_text[]=
#define MSGTR_MenuInitFailed "Échec d'initialisation du menu.\n" #define MSGTR_MenuInitFailed "Échec d'initialisation du menu.\n"
#define MSGTR_Getch2InitializedTwice "ATTENTION : getch2_init appelé deux fois !\n" #define MSGTR_Getch2InitializedTwice "ATTENTION : getch2_init appelé deux fois !\n"
#define MSGTR_DumpstreamFdUnavailable "Impossible de vider ce flux - Aucun descripteur de fichier disponible.\n" #define MSGTR_DumpstreamFdUnavailable "Impossible de vider ce flux - Aucun descripteur de fichier disponible.\n"
#define MSGTR_FallingBackOnPlaylist "Replie sur essaie d'analyse de liste de lecture (playlist) %s...\n"
#define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "Impossible d'ouvrir filtre vidéo libmenu avec menu root %s.\n" #define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "Impossible d'ouvrir filtre vidéo libmenu avec menu root %s.\n"
#define MSGTR_AudioFilterChainPreinitError "Erreur de pré-initialisation de la chaîne de filtres audio !\n" #define MSGTR_AudioFilterChainPreinitError "Erreur de pré-initialisation de la chaîne de filtres audio !\n"
#define MSGTR_LinuxRTCReadError "Erreur de lecture horloge temps réel (RTC) Linux : %s\n" #define MSGTR_LinuxRTCReadError "Erreur de lecture horloge temps réel (RTC) Linux : %s\n"
@ -202,12 +204,14 @@ static char help_text[]=
#define MSGTR_OSDenabled "activé" #define MSGTR_OSDenabled "activé"
#define MSGTR_OSDdisabled "désactivé" #define MSGTR_OSDdisabled "désactivé"
#define MSGTR_OSDAudio "Audio : %s"
#define MSGTR_OSDVideo "Vidéo : %s"
#define MSGTR_OSDChannel "Canal : %s" #define MSGTR_OSDChannel "Canal : %s"
#define MSGTR_OSDSubDelay "Décalage : %d ms" #define MSGTR_OSDSubDelay "Décalage : %d ms"
#define MSGTR_OSDSpeed "Vitesse : x %6.2f" #define MSGTR_OSDSpeed "Vitesse : x %6.2f"
#define MSGTR_OSDosd "OSD : %s" #define MSGTR_OSDosd "OSD : %s"
#define MSGTR_OSDAudio "Audio : %s"
#define MSGTR_OSDChapter "Chapitre : (%d) %s" #define MSGTR_OSDChapter "Chapitre : (%d) %s"
#define MSGTR_OSDAngle "Angle: %d/%d"
// property values // property values
#define MSGTR_Enabled "activé" #define MSGTR_Enabled "activé"
@ -218,6 +222,9 @@ static char help_text[]=
#define MSGTR_Bottom "bas" #define MSGTR_Bottom "bas"
#define MSGTR_Center "centre" #define MSGTR_Center "centre"
#define MSGTR_Top "haut" #define MSGTR_Top "haut"
#define MSGTR_SubSourceFile "fichier"
#define MSGTR_SubSourceVobsub "vobsub"
#define MSGTR_SubSourceDemux "inclus"
// osd bar names // osd bar names
#define MSGTR_Volume "Volume" #define MSGTR_Volume "Volume"
@ -227,25 +234,27 @@ static char help_text[]=
#define MSGTR_Contrast "Contraste" #define MSGTR_Contrast "Contraste"
#define MSGTR_Saturation "Saturation" #define MSGTR_Saturation "Saturation"
#define MSGTR_Hue "Tonalité" #define MSGTR_Hue "Tonalité"
#define MSGTR_Balance "Balance"
// property state // property state
#define MSGTR_LoopStatus "Boucle: %s"
#define MSGTR_MuteStatus "Silence : %s" #define MSGTR_MuteStatus "Silence : %s"
#define MSGTR_AVDelayStatus "delai A-V : %s" #define MSGTR_AVDelayStatus "Delai A-V : %s"
#define MSGTR_OnTopStatus "Reste au dessus : %s" #define MSGTR_OnTopStatus "Reste au dessus : %s"
#define MSGTR_RootwinStatus "Fenêtre racine : %s" #define MSGTR_RootwinStatus "Fenêtre racine : %s"
#define MSGTR_BorderStatus "Bordure : %s" #define MSGTR_BorderStatus "Bordure : %s"
#define MSGTR_FramedroppingStatus "Saut d'images : %s" #define MSGTR_FramedroppingStatus "Saut d'images : %s"
#define MSGTR_VSyncStatus "Sync verticale : %s" #define MSGTR_VSyncStatus "Sync verticale : %s"
#define MSGTR_SubSelectStatus "Sous-titres : %s" #define MSGTR_SubSelectStatus "Sous-titres : %s"
#define MSGTR_SubPosStatus "Sous position : %s/100" #define MSGTR_SubSourceStatus "Source des sous-titres : %s"
#define MSGTR_SubAlignStatus "Sous alignment : %s" #define MSGTR_SubPosStatus "Position des sous-titres : %s/100"
#define MSGTR_SubDelayStatus "Décalage : %s" #define MSGTR_SubAlignStatus "Alignement des sous-titres : %s"
#define MSGTR_SubDelayStatus "Décalage des sous-titres : %s"
#define MSGTR_SubScale "Échelle des sous-titres : %s"
#define MSGTR_SubVisibleStatus "Sous-titres : %s" #define MSGTR_SubVisibleStatus "Sous-titres : %s"
#define MSGTR_SubForcedOnlyStatus "Sub forcé seulement : %s"
// mencoder.c // mencoder.c
#define MSGTR_UsingPass3ControllFile "Utilisation du fichier de contrôle de la passe 3 : %s\n"
#define MSGTR_MissingFilename "\nNom de fichier manquant.\n\n" #define MSGTR_MissingFilename "\nNom de fichier manquant.\n\n"
#define MSGTR_CannotOpenFile_Device "Impossible d'ouvrir le fichier/périph.\n" #define MSGTR_CannotOpenFile_Device "Impossible d'ouvrir le fichier/périph.\n"
#define MSGTR_CannotOpenDemuxer "Impossible d'ouvrir le démuxeur.\n" #define MSGTR_CannotOpenDemuxer "Impossible d'ouvrir le démuxeur.\n"
@ -267,9 +276,12 @@ static char help_text[]=
#define MSGTR_NoSpeedWithFrameCopy "ATTENTION : -speed peut ne pas fonctionner correctement avec -oac copy !\n"\ #define MSGTR_NoSpeedWithFrameCopy "ATTENTION : -speed peut ne pas fonctionner correctement avec -oac copy !\n"\
"Votre encodage pourrait être brisé!\n" "Votre encodage pourrait être brisé!\n"
#define MSGTR_ErrorWritingFile "%s : Erreur durant l'écriture du fichier.\n" #define MSGTR_ErrorWritingFile "%s : Erreur durant l'écriture du fichier.\n"
#define MSGTR_FlushingVideoFrames "\nAbandonne des trames vidéo.\n"
#define MSGTR_FiltersHaveNotBeenConfiguredEmptyFile "Les filtres n'ont pas été configurés! Fichier vide?\n"
#define MSGTR_RecommendedVideoBitrate "Débit binaire (bitrate) vidéo recommandé pour le CD %s : %d\n" #define MSGTR_RecommendedVideoBitrate "Débit binaire (bitrate) vidéo recommandé pour le CD %s : %d\n"
#define MSGTR_VideoStreamResult "\nFlux vidéo : %8.3f kbit/s (%d B/s) taille : %"PRIu64" octets %5.3f secs %d images\n" #define MSGTR_VideoStreamResult "\nFlux vidéo : %8.3f kbit/s (%d B/s) taille : %"PRIu64" octets %5.3f secs %d images\n"
#define MSGTR_AudioStreamResult "\nFlux audio : %8.3f kbit/s (%d B/s) taille : %"PRIu64" octets %5.3f secs\n" #define MSGTR_AudioStreamResult "\nFlux audio : %8.3f kbit/s (%d B/s) taille : %"PRIu64" octets %5.3f secs\n"
#define MSGTR_EdlSkipStartEndCurrent "Saut EDL : Début: %.2f Fin: %.2f Courant: V: %.2f A: %.2f \r"
#define MSGTR_OpenedStream "succès : format : %d data : 0x%X - 0x%x\n" #define MSGTR_OpenedStream "succès : format : %d data : 0x%X - 0x%x\n"
#define MSGTR_VCodecFramecopy "codec vidéo : copie de trame (%dx%d %dbpp fourcc=%x)\n" #define MSGTR_VCodecFramecopy "codec vidéo : copie de trame (%dx%d %dbpp fourcc=%x)\n"
#define MSGTR_ACodecFramecopy "codec audio : copie img (format=%x canaux=%d taux=%d bits=%d B/s=%d échant-%d)\n" #define MSGTR_ACodecFramecopy "codec audio : copie img (format=%x canaux=%d taux=%d bits=%d B/s=%d échant-%d)\n"
@ -390,7 +402,7 @@ static char help_text[]=
#define MSGTR_LameCantInit "Ne peux pas régler les options de LAME, vérifiez dans bitrate/samplerate,"\ #define MSGTR_LameCantInit "Ne peux pas régler les options de LAME, vérifiez dans bitrate/samplerate,"\
"certains bitrates très bas (<32) requièrent des taux d'échantillonages plus bas (i.e. -srate 8000)."\ "certains bitrates très bas (<32) requièrent des taux d'échantillonages plus bas (i.e. -srate 8000)."\
"Si rien ne marche, essayez un pré-réglage (preset)." "Si rien ne marche, essayez un pré-réglage (preset)."
#define MSGTR_ConfigfileError "Erreur du fichier de configuration" #define MSGTR_ConfigFileError "Erreur du fichier de configuration"
#define MSGTR_ErrorParsingCommandLine "Erreur en analysant la ligne de commande" #define MSGTR_ErrorParsingCommandLine "Erreur en analysant la ligne de commande"
#define MSGTR_VideoStreamRequired "La présence d'un flux vidéo est obligatoire !\n" #define MSGTR_VideoStreamRequired "La présence d'un flux vidéo est obligatoire !\n"
#define MSGTR_ForcingInputFPS "Le fps d'entrée sera plutôt interprété comme %5.3f\n" #define MSGTR_ForcingInputFPS "Le fps d'entrée sera plutôt interprété comme %5.3f\n"
@ -483,15 +495,18 @@ static char help_text[]=
#define MSGTR_CodecDefinitionIncorrect "Le codec n'est pas défini correctement." #define MSGTR_CodecDefinitionIncorrect "Le codec n'est pas défini correctement."
#define MSGTR_OutdatedCodecsConf "Ce fichier codecs.conf est trop vieux et est incompatible avec cette version de MPlayer !" #define MSGTR_OutdatedCodecsConf "Ce fichier codecs.conf est trop vieux et est incompatible avec cette version de MPlayer !"
// divx4_vbr.c:
#define MSGTR_OutOfMemory "plus de mémoire libre"
#define MSGTR_OverridingTooLowBitrate "Le débit binaire demandé est trop bas pour ce clip.\n"\
"Le débit binaire minimum pour ce clip est %.0f kbps.\n"\
"Les valeurs demandées par l'utilisateur vont être ignorées.\n"
// fifo.c // fifo.c
#define MSGTR_CannotMakePipe "Ne peux créer de canal de communication (pipe) !\n" #define MSGTR_CannotMakePipe "Ne peux créer de canal de communication (pipe) !\n"
// parser-mecmd.c, parser-mpcmd.c
#define MSGTR_NoFileGivenOnCommandLine "'--' indique la fin des options, mais aucun nom de fichier fourni dans la commande.\n"
#define MSGTR_TheLoopOptionMustBeAnInteger "L'option loop doit être un entier : %s\n"
#define MSGTR_UnknownOptionOnCommandLine "Option non reconnue dans la ligne de commande : -%s\n"
#define MSGTR_ErrorParsingOptionOnCommandLine "Erreur lors de l'analyse des options de la ligne de commande : -%s\n"
#define MSGTR_NotAnMEncoderOption "-%s n'est pas une option de MEncoder\n"
#define MSGTR_NoFileGiven "Pas de fichier fourni\n"
// m_config.c // m_config.c
#define MSGTR_SaveSlotTooOld "Case de sauvegarde trouvée est trop ancienne lvl %d : %d !!!\n" #define MSGTR_SaveSlotTooOld "Case de sauvegarde trouvée est trop ancienne lvl %d : %d !!!\n"
#define MSGTR_InvalidCfgfileOption "L'option '%s' ne peut être utilisée dans un fichier de configuration.\n" #define MSGTR_InvalidCfgfileOption "L'option '%s' ne peut être utilisée dans un fichier de configuration.\n"
@ -501,7 +516,6 @@ static char help_text[]=
#define MSGTR_MissingOptionParameter "Erreur : l'option '%s' doit avoir un paramètre !\n" #define MSGTR_MissingOptionParameter "Erreur : l'option '%s' doit avoir un paramètre !\n"
#define MSGTR_OptionListHeader "\n Nom Type Min Max Global CL Cfg\n\n" #define MSGTR_OptionListHeader "\n Nom Type Min Max Global CL Cfg\n\n"
#define MSGTR_TotalOptions "\nTotal : %d options\n" #define MSGTR_TotalOptions "\nTotal : %d options\n"
#define MSGTR_TooDeepProfileInclusion "ATTENTION : inclusion de profils trop imbriquée.\n"
#define MSGTR_NoProfileDefined "Aucun profil n'a été défini.\n" #define MSGTR_NoProfileDefined "Aucun profil n'a été défini.\n"
#define MSGTR_AvailableProfiles "Profils disponibles :\n" #define MSGTR_AvailableProfiles "Profils disponibles :\n"
#define MSGTR_UnknownProfile "Profil inconnu '%s'.\n" #define MSGTR_UnknownProfile "Profil inconnu '%s'.\n"
@ -522,9 +536,14 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "Impossible d'ouvrir depuis le réseau local : '%s'\n" #define MSGTR_SMBFileNotFound "Impossible d'ouvrir depuis le réseau local : '%s'\n"
#define MSGTR_SMBNotCompiled "MPlayer n'a pas été compilé avec le support de lecture SMB\n" #define MSGTR_SMBNotCompiled "MPlayer n'a pas été compilé avec le support de lecture SMB\n"
#define MSGTR_CantOpenDVD "Impossible d'ouvrir le lecteur DVD : %s\n" #define MSGTR_CantOpenDVD "Impossible d'ouvrir le lecteur DVD : %s (%s)\n"
// stream_dvd.c // stream_dvd.c
#define MSGTR_DVDspeedCantOpen "Impossible d'ouvrir le lecteur DVD en écriture. Changer la vitesse du DVD requière un accès en écriture.\n"
#define MSGTR_DVDrestoreSpeed "Remise en l'état de la vitesse du DVD... "
#define MSGTR_DVDlimitSpeed "Limite la vitesse du DVD à %dKo/s... "
#define MSGTR_DVDlimitFail "échoue\n"
#define MSGTR_DVDlimitOk "réussi\n"
#define MSGTR_NoDVDSupport "MPlayer a été compilé sans support pour les DVD - terminaison\n" #define MSGTR_NoDVDSupport "MPlayer a été compilé sans support pour les DVD - terminaison\n"
#define MSGTR_DVDnumTitles "Il y a %d titres sur ce DVD.\n" #define MSGTR_DVDnumTitles "Il y a %d titres sur ce DVD.\n"
#define MSGTR_DVDinvalidTitle "Numéro de titre DVD invalide : %d\n" #define MSGTR_DVDinvalidTitle "Numéro de titre DVD invalide : %d\n"
@ -576,6 +595,9 @@ static char help_text[]=
#define MSGTR_InvalidMPEGES "Flux MPEG-ES invalide ??? Contactez l'auteur, c'est peut-être un bogue :(\n" #define MSGTR_InvalidMPEGES "Flux MPEG-ES invalide ??? Contactez l'auteur, c'est peut-être un bogue :(\n"
#define MSGTR_FormatNotRecognized "========== Désolé, ce format de fichier n'est pas reconnu/supporté ============\n"\ #define MSGTR_FormatNotRecognized "========== Désolé, ce format de fichier n'est pas reconnu/supporté ============\n"\
"== Si ce fichier est un flux AVI, ASF ou MPEG, merci de contacter l'auteur ! ==\n" "== Si ce fichier est un flux AVI, ASF ou MPEG, merci de contacter l'auteur ! ==\n"
#define MSGTR_SettingProcessPriority "Réglage de la priorité du process: %s\n"
#define MSGTR_FilefmtFourccSizeFpsFtime "[V] filefmt:%d fourcc:0x%X taille:%dx%d fps:%5.3f ftime:=%6.4f\n"
#define MSGTR_CannotInitializeMuxer "Impossible d'initialiser le muxeur."
#define MSGTR_MissingVideoStream "Aucun flux vidéo trouvé.\n" #define MSGTR_MissingVideoStream "Aucun flux vidéo trouvé.\n"
#define MSGTR_MissingAudioStream "Aucun flux audio trouvé -> pas de son\n" #define MSGTR_MissingAudioStream "Aucun flux audio trouvé -> pas de son\n"
#define MSGTR_MissingVideoStreamBug "Flux vidéo manquant !? Contactez l'auteur, c'est peut-être un bogue :(\n" #define MSGTR_MissingVideoStreamBug "Flux vidéo manquant !? Contactez l'auteur, c'est peut-être un bogue :(\n"
@ -590,7 +612,6 @@ static char help_text[]=
#define MSGTR_CouldntDetFNo "Impossible de déterminer le nombre d'images (pour recherche absolue)\n" #define MSGTR_CouldntDetFNo "Impossible de déterminer le nombre d'images (pour recherche absolue)\n"
#define MSGTR_CantSeekRawAVI "Impossible de chercher dans un flux AVI brut ! (Index requis, essayez l'option -idx.)\n" #define MSGTR_CantSeekRawAVI "Impossible de chercher dans un flux AVI brut ! (Index requis, essayez l'option -idx.)\n"
#define MSGTR_CantSeekFile "Impossible de chercher dans ce fichier.\n" #define MSGTR_CantSeekFile "Impossible de chercher dans ce fichier.\n"
#define MSGTR_EncryptedVOB "Fichier VOB chiffré ! Veuillez lire DOCS/HTML/fr/cd-dvd.html.\n"
#define MSGTR_MOVcomprhdr "MOV : Le support d'entêtes compressées nécessite ZLIB !\n" #define MSGTR_MOVcomprhdr "MOV : Le support d'entêtes compressées nécessite ZLIB !\n"
#define MSGTR_MOVvariableFourCC "MOV : ATTENTION : FOURCC Variable détecté !?\n" #define MSGTR_MOVvariableFourCC "MOV : ATTENTION : FOURCC Variable détecté !?\n"
@ -598,7 +619,7 @@ static char help_text[]=
#define MSGTR_FoundAudioStream "==> Flux audio trouvé : %d\n" #define MSGTR_FoundAudioStream "==> Flux audio trouvé : %d\n"
#define MSGTR_FoundVideoStream "==> Flux vidéo trouvé : %d\n" #define MSGTR_FoundVideoStream "==> Flux vidéo trouvé : %d\n"
#define MSGTR_DetectedTV "TV détectée ! ;-)\n" #define MSGTR_DetectedTV "TV détectée ! ;-)\n"
#define MSGTR_ErrorOpeningOGGDemuxer "Impossible d'ouvrir le demuxer ogg\n" #define MSGTR_ErrorOpeningOGGDemuxer "Impossible d'ouvrir le demuxer Ogg\n"
#define MSGTR_ASFSearchingForAudioStream "ASF : recherche du flux audio (id:%d)\n" #define MSGTR_ASFSearchingForAudioStream "ASF : recherche du flux audio (id:%d)\n"
#define MSGTR_CannotOpenAudioStream "Impossible d'ouvrir le flux audio : %s\n" #define MSGTR_CannotOpenAudioStream "Impossible d'ouvrir le flux audio : %s\n"
#define MSGTR_CannotOpenSubtitlesStream "Impossible d'ouvrir le flux des sous-titres : %s\n" #define MSGTR_CannotOpenSubtitlesStream "Impossible d'ouvrir le flux des sous-titres : %s\n"
@ -606,7 +627,6 @@ static char help_text[]=
#define MSGTR_OpeningSubtitlesDemuxerFailed "Echec à l'ouverture du demuxer de sous-titres : %s\n" #define MSGTR_OpeningSubtitlesDemuxerFailed "Echec à l'ouverture du demuxer de sous-titres : %s\n"
#define MSGTR_TVInputNotSeekable "Impossible de rechercher sur l'entrée TV ! (cette opération correspondra sûrement à un changement de chaines ;)\n" #define MSGTR_TVInputNotSeekable "Impossible de rechercher sur l'entrée TV ! (cette opération correspondra sûrement à un changement de chaines ;)\n"
#define MSGTR_DemuxerInfoChanged "Info demuxer %s changé à %s\n" #define MSGTR_DemuxerInfoChanged "Info demuxer %s changé à %s\n"
#define MSGTR_DemuxerInfoAlreadyPresent "Info du demuxer %s déjà présente !\n"
#define MSGTR_ClipInfo "Information sur le clip : \n" #define MSGTR_ClipInfo "Information sur le clip : \n"
#define MSGTR_LeaveTelecineMode "\ndemux_mpg : contenu NTSC 30000/1001fps détecté, ajustement du débit.\n" #define MSGTR_LeaveTelecineMode "\ndemux_mpg : contenu NTSC 30000/1001fps détecté, ajustement du débit.\n"
@ -615,6 +635,10 @@ static char help_text[]=
#define MSGTR_NoBindFound "Aucune action attachée à la touche '%s'" #define MSGTR_NoBindFound "Aucune action attachée à la touche '%s'"
#define MSGTR_FailedToOpen "Échec à l'ouverture de '%s'\n" #define MSGTR_FailedToOpen "Échec à l'ouverture de '%s'\n"
#define MSGTR_VideoID "[%s] Flux vidéo trouvé, -vid %d\n"
#define MSGTR_AudioID "[%s] Flux audio trouvé, -aid %d\n"
#define MSGTR_SubtitleID "[%s] Subtitle stream found, -sid %d\n"
// dec_video.c & dec_audio.c: // dec_video.c & dec_audio.c:
#define MSGTR_CantOpenCodec "Impossible d'ouvrir le codec.\n" #define MSGTR_CantOpenCodec "Impossible d'ouvrir le codec.\n"
#define MSGTR_CantCloseCodec "Impossible de fermer le codec.\n" #define MSGTR_CantCloseCodec "Impossible de fermer le codec.\n"
@ -654,7 +678,6 @@ static char help_text[]=
// LIRC: // LIRC:
#define MSGTR_SettingUpLIRC "Mise en place du support LIRC...\n" #define MSGTR_SettingUpLIRC "Mise en place du support LIRC...\n"
#define MSGTR_LIRCdisabled "Vous ne pourrez pas utiliser votre télécommande\n"
#define MSGTR_LIRCopenfailed "Impossible d'activer le support LIRC.\n" #define MSGTR_LIRCopenfailed "Impossible d'activer le support LIRC.\n"
#define MSGTR_LIRCcfgerr "Impossible de lire le fichier de config de LIRC %s.\n" #define MSGTR_LIRCcfgerr "Impossible de lire le fichier de config de LIRC %s.\n"
@ -682,6 +705,7 @@ static char help_text[]=
#define MSGTR_InsertingAfVolume "[Mixer] Pas de support matériel pour le mixage, insertion du filtre logiciel de volume.\n" #define MSGTR_InsertingAfVolume "[Mixer] Pas de support matériel pour le mixage, insertion du filtre logiciel de volume.\n"
#define MSGTR_NoVolume "[Mixer] Aucun contrôle de volume disponible.\n" #define MSGTR_NoVolume "[Mixer] Aucun contrôle de volume disponible.\n"
#define MSGTR_NoBalance "[Mixer] Aucun contrôle de balance disponible.\n"
// ====================== messages/boutons GUI ======================== // ====================== messages/boutons GUI ========================
@ -722,7 +746,6 @@ static char help_text[]=
#define MSGTR_NEMFMR "Désolé, pas assez de mémoire pour le rendu des menus." #define MSGTR_NEMFMR "Désolé, pas assez de mémoire pour le rendu des menus."
#define MSGTR_IDFGCVD "Désolé, aucun pilote de sortie vidéo compatible avec la GUI." #define MSGTR_IDFGCVD "Désolé, aucun pilote de sortie vidéo compatible avec la GUI."
#define MSGTR_NEEDLAVC "Désolé, vous ne pouvez pas lire de fichiers non-MPEG avec le périphérique DXR3/H+ sans réencoder.\nActivez plutôt lavc dans la boîte de configuration DXR3/H+." #define MSGTR_NEEDLAVC "Désolé, vous ne pouvez pas lire de fichiers non-MPEG avec le périphérique DXR3/H+ sans réencoder.\nActivez plutôt lavc dans la boîte de configuration DXR3/H+."
#define MSGTR_NEEDLAVCFAME "Désolé, vous ne pouvez pas jouer de fichier non-MPEG avec votre périphérique DXR3/H+ sans réencodage.\nVeuillez activer lavc ou fame dans la boîte de configuration DXR3/H+."
#define MSGTR_UNKNOWNWINDOWTYPE "Genre de fenêtre inconnue trouvé ..." #define MSGTR_UNKNOWNWINDOWTYPE "Genre de fenêtre inconnue trouvé ..."
// --- messages d'erreurs du chargement de peau --- // --- messages d'erreurs du chargement de peau ---
@ -740,7 +763,6 @@ static char help_text[]=
#define MSGTR_SKIN_BITMAP_RLENotSupported "tga compacté en RLE non supporté (%s)\n" #define MSGTR_SKIN_BITMAP_RLENotSupported "tga compacté en RLE non supporté (%s)\n"
#define MSGTR_SKIN_BITMAP_UnknownFileType "format de fichier inconnu (%s)\n" #define MSGTR_SKIN_BITMAP_UnknownFileType "format de fichier inconnu (%s)\n"
#define MSGTR_SKIN_BITMAP_ConversionError "Erreur de conversion 24 bit vers 32 bit (%s)\n" #define MSGTR_SKIN_BITMAP_ConversionError "Erreur de conversion 24 bit vers 32 bit (%s)\n"
#define MSGTR_SKIN_BITMAP_ConvertError "erreur de conversion de 24 bit en 32 bit (%s)\n"
#define MSGTR_SKIN_BITMAP_UnknownMessage "message inconnu : %s\n" #define MSGTR_SKIN_BITMAP_UnknownMessage "message inconnu : %s\n"
#define MSGTR_SKIN_FONT_NotEnoughtMemory "pas assez de mémoire\n" #define MSGTR_SKIN_FONT_NotEnoughtMemory "pas assez de mémoire\n"
#define MSGTR_SKIN_FONT_TooManyFontsDeclared "trop de polices déclarées.\n" #define MSGTR_SKIN_FONT_TooManyFontsDeclared "trop de polices déclarées.\n"
@ -837,7 +859,6 @@ static char help_text[]=
#define MSGTR_PREFERENCES_DoNotPlaySound "Ne pas jouer le son" #define MSGTR_PREFERENCES_DoNotPlaySound "Ne pas jouer le son"
#define MSGTR_PREFERENCES_NormalizeSound "Normaliser le son" #define MSGTR_PREFERENCES_NormalizeSound "Normaliser le son"
#define MSGTR_PREFERENCES_EnableEqualizer "Egaliseur (Equalizer) activé" #define MSGTR_PREFERENCES_EnableEqualizer "Egaliseur (Equalizer) activé"
#define MSGTR_PREFERENCES_EnEqualizer "Activer l'équaliseur"
#define MSGTR_PREFERENCES_SoftwareMixer "Activer mixeur logiciel" #define MSGTR_PREFERENCES_SoftwareMixer "Activer mixeur logiciel"
#define MSGTR_PREFERENCES_ExtraStereo "Activer stéréo supplémentaire" #define MSGTR_PREFERENCES_ExtraStereo "Activer stéréo supplémentaire"
#define MSGTR_PREFERENCES_Coefficient "Coefficient :" #define MSGTR_PREFERENCES_Coefficient "Coefficient :"
@ -885,7 +906,6 @@ static char help_text[]=
#define MSGTR_PREFERENCES_Message "ATTENTION : certaines options requièrent un redémarrage de la lecture !" #define MSGTR_PREFERENCES_Message "ATTENTION : certaines options requièrent un redémarrage de la lecture !"
#define MSGTR_PREFERENCES_DXR3_VENC "Encodeur vidéo :" #define MSGTR_PREFERENCES_DXR3_VENC "Encodeur vidéo :"
#define MSGTR_PREFERENCES_DXR3_LAVC "Utiliser LAVC (FFmpeg)" #define MSGTR_PREFERENCES_DXR3_LAVC "Utiliser LAVC (FFmpeg)"
#define MSGTR_PREFERENCES_DXR3_FAME "Utiliser FAME"
#define MSGTR_PREFERENCES_FontEncoding1 "Unicode" #define MSGTR_PREFERENCES_FontEncoding1 "Unicode"
#define MSGTR_PREFERENCES_FontEncoding2 "Langues Européennes Occidentales (ISO-8859-1)" #define MSGTR_PREFERENCES_FontEncoding2 "Langues Européennes Occidentales (ISO-8859-1)"
#define MSGTR_PREFERENCES_FontEncoding3 "Langues Européeenes Occidentales avec Euro (ISO-8859-15)" #define MSGTR_PREFERENCES_FontEncoding3 "Langues Européeenes Occidentales avec Euro (ISO-8859-15)"
@ -908,6 +928,7 @@ static char help_text[]=
#define MSGTR_PREFERENCES_FontEncoding20 "Thaïlandais (CP874)" #define MSGTR_PREFERENCES_FontEncoding20 "Thaïlandais (CP874)"
#define MSGTR_PREFERENCES_FontEncoding21 "Cyrillique Windows (CP1251)" #define MSGTR_PREFERENCES_FontEncoding21 "Cyrillique Windows (CP1251)"
#define MSGTR_PREFERENCES_FontEncoding22 "Slave/Europe Centrale Windows (CP1250)" #define MSGTR_PREFERENCES_FontEncoding22 "Slave/Europe Centrale Windows (CP1250)"
#define MSGTR_PREFERENCES_FontEncoding23 "Arabe Windows (CP1256)"
#define MSGTR_PREFERENCES_FontNoAutoScale "Pas d'agrandissement auto" #define MSGTR_PREFERENCES_FontNoAutoScale "Pas d'agrandissement auto"
#define MSGTR_PREFERENCES_FontPropWidth "Proportionnel à la largeur du film" #define MSGTR_PREFERENCES_FontPropWidth "Proportionnel à la largeur du film"
#define MSGTR_PREFERENCES_FontPropHeight "Proportionnel à la hauteur du film" #define MSGTR_PREFERENCES_FontPropHeight "Proportionnel à la hauteur du film"
@ -1051,6 +1072,7 @@ static char help_text[]=
#define MSGTR_VO_SUB_Volume "Volume" #define MSGTR_VO_SUB_Volume "Volume"
#define MSGTR_VO_SUB_Brightness "Luminosité" #define MSGTR_VO_SUB_Brightness "Luminosité"
#define MSGTR_VO_SUB_Hue "Tonalité" #define MSGTR_VO_SUB_Hue "Tonalité"
#define MSGTR_VO_SUB_Balance "Balance"
// vo_xv.c // vo_xv.c
#define MSGTR_VO_XV_ImagedimTooHigh "Dimensions d'image source trop élevées: %ux%u (maximum %ux%u)\n" #define MSGTR_VO_XV_ImagedimTooHigh "Dimensions d'image source trop élevées: %ux%u (maximum %ux%u)\n"
@ -1180,8 +1202,6 @@ static char help_text[]=
"[AO_ALSA] device=<device-name>\n"\ "[AO_ALSA] device=<device-name>\n"\
"[AO_ALSA] met le périphérique (change , vers . et : vers =)\n" "[AO_ALSA] met le périphérique (change , vers . et : vers =)\n"
#define MSGTR_AO_ALSA_ChannelsNotSupported "[AO_ALSA] canaux %d non supportés.\n" #define MSGTR_AO_ALSA_ChannelsNotSupported "[AO_ALSA] canaux %d non supportés.\n"
#define MSGTR_AO_ALSA_CannotReadAlsaConfiguration "[AO_ALSA] Ne peux lire la configuration ALSA : %s\n"
#define MSGTR_AO_ALSA_CannotCopyConfiguration "[AO_ALSA] Ne peux copier la configuration : %s\n"
#define MSGTR_AO_ALSA_OpenInNonblockModeFailed "[AO_ALSA] Echec ouverture en mode non-bloqué, essaie ouverture en mode bloqué.\n" #define MSGTR_AO_ALSA_OpenInNonblockModeFailed "[AO_ALSA] Echec ouverture en mode non-bloqué, essaie ouverture en mode bloqué.\n"
#define MSGTR_AO_ALSA_PlaybackOpenError "[AO_ALSA] Erreur ouverture de lecture : %s\n" #define MSGTR_AO_ALSA_PlaybackOpenError "[AO_ALSA] Erreur ouverture de lecture : %s\n"
#define MSGTR_AO_ALSA_ErrorSetBlockMode "[AL_ALSA] Erreur mise en mode bloqué %s.\n" #define MSGTR_AO_ALSA_ErrorSetBlockMode "[AL_ALSA] Erreur mise en mode bloqué %s.\n"
@ -1226,6 +1246,7 @@ static char help_text[]=
// ======================= AF Filtres Audio ================================ // ======================= AF Filtres Audio ================================
// libaf // libaf
#define MSGTR_AF_ValueOutOfRange MSGTR_VO_ValueOutOfRange
// af_ladspa.c // af_ladspa.c
@ -1259,6 +1280,12 @@ static char help_text[]=
#define MSGTR_INPUT_JOYSTICK_WarnLostSync "Manette de jeux : alerte événement init, perte de sync avec pilote\n" #define MSGTR_INPUT_JOYSTICK_WarnLostSync "Manette de jeux : alerte événement init, perte de sync avec pilote\n"
#define MSGTR_INPUT_JOYSTICK_WarnUnknownEvent "Alerte manette de jeux événement inconnu de type %d\n" #define MSGTR_INPUT_JOYSTICK_WarnUnknownEvent "Alerte manette de jeux événement inconnu de type %d\n"
// appleir.c
#define MSGTR_INPUT_APPLE_IR_Init "Initialisation de l'interface IR Apple sur %s\n"
#define MSGTR_INPUT_APPLE_IR_Detect "Interface IR Apple détectée sur %s\n"
#define MSGTR_INPUT_APPLE_IR_CantOpen "Impossible d'ouvrir l'interface IR Apple : %s\n"
// input.c // input.c
#define MSGTR_INPUT_INPUT_ErrCantRegister2ManyCmdFds "Trop de descripteurs de fichiers de commande. Impossible d'enregister descripteur fichier %d.\n" #define MSGTR_INPUT_INPUT_ErrCantRegister2ManyCmdFds "Trop de descripteurs de fichiers de commande. Impossible d'enregister descripteur fichier %d.\n"
@ -1338,6 +1365,8 @@ static char help_text[]=
#define MSGTR_MPDEMUX_ASFHDR_NoDataChunkAfterHeader "Nul morceau données suit entête !\n" #define MSGTR_MPDEMUX_ASFHDR_NoDataChunkAfterHeader "Nul morceau données suit entête !\n"
#define MSGTR_MPDEMUX_ASFHDR_AudioVideoHeaderNotFound "ASF : nul entête audio ou vidéo trouvé - fichier brisé ?\n" #define MSGTR_MPDEMUX_ASFHDR_AudioVideoHeaderNotFound "ASF : nul entête audio ou vidéo trouvé - fichier brisé ?\n"
#define MSGTR_MPDEMUX_ASFHDR_InvalidLengthInASFHeader "Longueur entête ASF invalide !\n" #define MSGTR_MPDEMUX_ASFHDR_InvalidLengthInASFHeader "Longueur entête ASF invalide !\n"
#define MSGTR_MPDEMUX_ASFHDR_DRMLicenseURL "URL de la license DRM : %s\n"
#define MSGTR_MPDEMUX_ASFHDR_DRMProtected "Ce fichier est entaché d'une chiffrage DRM. Il n'est pas lisible avec MPlayer!\n"
// asf_mmst_streaming.c // asf_mmst_streaming.c
@ -1540,6 +1569,7 @@ static char help_text[]=
#define MSGTR_MPDEMUX_XMMS_FoundPlugin "Plugin trouvé : %s (%s).\n" #define MSGTR_MPDEMUX_XMMS_FoundPlugin "Plugin trouvé : %s (%s).\n"
#define MSGTR_MPDEMUX_XMMS_ClosingPlugin "Fermeture du plugin : %s.\n" #define MSGTR_MPDEMUX_XMMS_ClosingPlugin "Fermeture du plugin : %s.\n"
#define MSGTR_MPDEMUX_XMMS_WaitForStart "Attente de fermeture du greffon XMMS pour démarrer la lecture de '%s'...\n"
// ========================== LIBMPMENU =================================== // ========================== LIBMPMENU ===================================
@ -1581,6 +1611,7 @@ static char help_text[]=
// libmenu/menu_param.c // libmenu/menu_param.c
#define MSGTR_LIBMENU_SubmenuDefinitionNeedAMenuAttribut "[MENU] Définition sous-menu exige attribut 'menu'.\n" #define MSGTR_LIBMENU_SubmenuDefinitionNeedAMenuAttribut "[MENU] Définition sous-menu exige attribut 'menu'.\n"
#define MSGTR_LIBMENU_InvalidProperty "[MENU] Propriété invalide '%s' dans l'entrée menu pref. (line %d).\n"
#define MSGTR_LIBMENU_PrefMenuEntryDefinitionsNeed "[MENU] Définition entrée menu pref exige attribut 'propriété' valide (ligne %d).\n" #define MSGTR_LIBMENU_PrefMenuEntryDefinitionsNeed "[MENU] Définition entrée menu pref exige attribut 'propriété' valide (ligne %d).\n"
#define MSGTR_LIBMENU_PrefMenuNeedsAnArgument "[MENU] Menu pref exige argument.\n" #define MSGTR_LIBMENU_PrefMenuNeedsAnArgument "[MENU] Menu pref exige argument.\n"
@ -1650,9 +1681,6 @@ static char help_text[]=
#define MSGTR_MPCODECS_WarnNextFilterDoesntSupportSlices "Alerte ! Filtre suivant ne supporte pas TRANCHES, gare au sig11...\n" #define MSGTR_MPCODECS_WarnNextFilterDoesntSupportSlices "Alerte ! Filtre suivant ne supporte pas TRANCHES, gare au sig11...\n"
#define MSGTR_MPCODECS_FunWhydowegetNULL "Pourquoi ce NULL ??\n" #define MSGTR_MPCODECS_FunWhydowegetNULL "Pourquoi ce NULL ??\n"
// libmpcodecs/vf_fame.c
#define MSGTR_MPCODECS_FatalCantOpenlibFAME "FATAL : ne peux ouvrir libFAME !\n"
// libmpcodecs/vf_test.c, vf_yuy2.c, vf_yvu9.c // libmpcodecs/vf_test.c, vf_yuy2.c, vf_yvu9.c
#define MSGTR_MPCODECS_WarnNextFilterDoesntSupport "%s non supporté par filtre suivant/vo :(\n" #define MSGTR_MPCODECS_WarnNextFilterDoesntSupport "%s non supporté par filtre suivant/vo :(\n"
@ -1668,6 +1696,7 @@ static char help_text[]=
#define MSGTR_LIBVO_MGA_IncompatibleDriverVersion "[MGA] La version de votre pilote mga_vid est incompatible avec cette version de MPlayer !\n" #define MSGTR_LIBVO_MGA_IncompatibleDriverVersion "[MGA] La version de votre pilote mga_vid est incompatible avec cette version de MPlayer !\n"
#define MSGTR_LIBVO_MGA_CouldntOpen "[MGA] Impossible d'ouvrir : %s\n" #define MSGTR_LIBVO_MGA_CouldntOpen "[MGA] Impossible d'ouvrir : %s\n"
#define MGSTR_LIBVO_MGA_ResolutionTooHigh "[MGA] La resolution à sa source est au moins dans une dimension plus large que 1023x1023. Veuillez remettre à l'échelle dans le logiciel ou utiliser -lavdopts lowres=1\n" #define MGSTR_LIBVO_MGA_ResolutionTooHigh "[MGA] La resolution à sa source est au moins dans une dimension plus large que 1023x1023. Veuillez remettre à l'échelle dans le logiciel ou utiliser -lavdopts lowres=1\n"
#define MGSTR_LIBVO_MGA_mgavidVersionMismatch "[MGA] La version du driver mga_vid (%u) ne correspond pas à celle utilisée lors de la compilation de MPlayer (%u)\n"
// libvo/vesa_lvo.c // libvo/vesa_lvo.c
@ -1738,6 +1767,17 @@ static char help_text[]=
#define MSGTR_LIBVO_DXR3_XCorrection "[VO_DXR3] Correction X : %d.\n" #define MSGTR_LIBVO_DXR3_XCorrection "[VO_DXR3] Correction X : %d.\n"
#define MSGTR_LIBVO_DXR3_FailedSetSignalMix "[VO_DXR3] Echec réglage du mix signal !\n" #define MSGTR_LIBVO_DXR3_FailedSetSignalMix "[VO_DXR3] Echec réglage du mix signal !\n"
// libvo/font_load_ft.c
#define MSGTR_LIBVO_FONT_LOAD_FT_NewFaceFailed "New_Face a échoué. Le chemin vers les fonts est peut-être faux.\nSpécifiez un fichier de police, svp. (~/.mplayer/subfont.ttf).\n"
#define MSGTR_LIBVO_FONT_LOAD_FT_NewMemoryFaceFailed "New_Memory_Face a échoué.\n"
#define MSGTR_LIBVO_FONT_LOAD_FT_SubFaceFailed "Police de sous-titres : load_sub_face a échoué.\n"
#define MSGTR_LIBVO_FONT_LOAD_FT_SubFontCharsetFailed "Police de sous-titres : prepare_charset a échoué.\n"
#define MSGTR_LIBVO_FONT_LOAD_FT_CannotPrepareSubtitleFont "Impossible de préparer la police de sous-titres.\n"
#define MSGTR_LIBVO_FONT_LOAD_FT_CannotPrepareOSDFont "Impossible de prparer la police OSD.\n"
#define MSGTR_LIBVO_FONT_LOAD_FT_CannotGenerateTables "Impossible de générer les tables.\n"
#define MSGTR_LIBVO_FONT_LOAD_FT_DoneFreeTypeFailed "FT_Done_FreeType a échoué.\n"
// libvo/vo_mga.c // libvo/vo_mga.c
#define MSGTR_LIBVO_MGA_AspectResized "[VO_MGA] aspect() : redimensionné à %dx%d.\n" #define MSGTR_LIBVO_MGA_AspectResized "[VO_MGA] aspect() : redimensionné à %dx%d.\n"
@ -1905,6 +1945,12 @@ static char help_text[]=
"[VO_XV] DOCS/HTML/en/video.html#xv!\n"\ "[VO_XV] DOCS/HTML/en/video.html#xv!\n"\
"[VO_XV] Voir 'mplayer -vo help' pour autres pilotes sortie vidéo (non xv).\n"\ "[VO_XV] Voir 'mplayer -vo help' pour autres pilotes sortie vidéo (non xv).\n"\
"[VO_XV] Essayez -vo x11.\n" "[VO_XV] Essayez -vo x11.\n"
#define MSGTR_LIBVO_XV_Adaptor "[VO_XV] Utilise l'adaptateur Xv #%d (%s)\n"
// loader/ldt_keeper.c
#define MSGTR_LOADER_DYLD_Warning "AVERTISSEMENT : Tentative d'utilisation de codecs DLL alors que la variable d'environment\n DYLD_BIND_AT_LAUNCH n'est pas assignée. Plantage très probable.\n"
// stream/stream_radio.c // stream/stream_radio.c
@ -1945,10 +1991,165 @@ static char help_text[]=
#define MSGTR_RADIO_CaptureStarting "[radio] Début de la capture.\n" #define MSGTR_RADIO_CaptureStarting "[radio] Début de la capture.\n"
#define MSGTR_RADIO_ClearBufferFailed "[radio] Echec effacement du tampon : %s\n" #define MSGTR_RADIO_ClearBufferFailed "[radio] Echec effacement du tampon : %s\n"
#define MSGTR_RADIO_StreamEnableCacheFailed "[radio] Echec appel stream_enable_cache : %s\n" #define MSGTR_RADIO_StreamEnableCacheFailed "[radio] Echec appel stream_enable_cache : %s\n"
#define MSGTR_RADIO_DriverUnknownId "[radio] ID du pilote inconnue : %d\n"
#define MSGTR_RADIO_DriverUnknownStr "[radio] Nom de pilote inconnu : %s\n" #define MSGTR_RADIO_DriverUnknownStr "[radio] Nom de pilote inconnu : %s\n"
#define MSGTR_RADIO_DriverV4L2 "[radio] Utilise interface radio V4Lv2.\n" #define MSGTR_RADIO_DriverV4L2 "[radio] Utilise interface radio V4Lv2.\n"
#define MSGTR_RADIO_DriverV4L "[radio] Utilise interface radio V4Lv1.\n" #define MSGTR_RADIO_DriverV4L "[radio] Utilise interface radio V4Lv1.\n"
#define MSGTR_RADIO_DriverBSDBT848 "[radio] Utilisation de l'interface radio *BSD BT848.\n"
#define MSGTR_RADIO_AvailableDrivers "[radio] Drivers disponibles : "
// ================================== LIBASS ====================================
// ass_bitmap.c
#define MSGTR_LIBASS_FT_Glyph_To_BitmapError "[ass] Erreur FT_Glyph_To_Bitmap %d \n"
#define MSGTR_LIBASS_UnsupportedPixelMode "[ass] Mode pixel non supporté : %d\n"
#define MSGTR_LIBASS_GlyphBBoxTooLarge "[ass] Cadre du caractère trop grand: %dx%dpx\n"
// ass.c
#define MSGTR_LIBASS_NoStyleNamedXFoundUsingY "[ass] [%p] Avertissement: aucun style nommé '%s' trouvé, utilise '%s'\n"
#define MSGTR_LIBASS_BadTimestamp "[ass] mauvais marqueur de temps\n"
#define MSGTR_LIBASS_ErrorOpeningIconvDescriptor "[ass] erreur lors de l'ouverture du descripteur de conversion.\n"
#define MSGTR_LIBASS_ErrorRecodingFile "[ass] erreur lors de l'enregistrement du fichier.\n"
#define MSGTR_LIBASS_FopenFailed "[ass] ass_read_file(%s) : fopen a échoué\n"
#define MSGTR_LIBASS_FseekFailed "[ass] ass_read_file(%s) : fseek à échoué\n"
#define MSGTR_LIBASS_RefusingToLoadSubtitlesLargerThan10M "[ass] ass_read_file(%s) : Chargement des fichiers plus grands que 10Mo refusé\n"
#define MSGTR_LIBASS_ReadFailed "Lecture impossible, %d: %s\n"
#define MSGTR_LIBASS_AddedSubtitleFileMemory "[ass] Ajout d'un fichier de sous-titres : <memory> (%d styles, %d évènements)\n"
#define MSGTR_LIBASS_AddedSubtitleFileFname "[ass] Ajout d'un fichier de sous-titres : %s (%d styles, %d events)\n"
#define MSGTR_LIBASS_FailedToCreateDirectory "[ass] Impossible de créer le répertoire %s\n"
#define MSGTR_LIBASS_NotADirectory "[ass] Pas un répertoire : %s\n"
// ass_cache.c
#define MSGTR_LIBASS_TooManyFonts "[ass] Trop de polices de caractères\n"
#define MSGTR_LIBASS_ErrorOpeningFont "[ass] Erreur à l'ouverture de la police de caractère : %s, %d\n"
// ass_fontconfig.c
#define MSGTR_LIBASS_SelectedFontFamilyIsNotTheRequestedOne "[ass] fontconfig : La police sélectionnée n'est pas celle demandée : '%s' != '%s'\n"
#define MSGTR_LIBASS_UsingDefaultFontFamily "[ass] fontconfig_select : Utilise la famille de police par defaut: (%s, %d, %d) -> %s, %d\n"
#define MSGTR_LIBASS_UsingDefaultFont "[ass] fontconfig_select : Utilise la police par defaut : (%s, %d, %d) -> %s, %d\n"
#define MSGTR_LIBASS_UsingArialFontFamily "[ass] fontconfig_select : Utilise la famille de fonte 'Arial' : (%s, %d, %d) -> %s, %d\n"
#define MSGTR_LIBASS_FcInitLoadConfigAndFontsFailed "[ass] FcInitLoadConfigAndFonts a échoué.\n"
#define MSGTR_LIBASS_UpdatingFontCache "[ass] Mise à jour du cache des polices.\n"
#define MSGTR_LIBASS_BetaVersionsOfFontconfigAreNotSupported "[ass] Les versions Beta de fontconfig ne sont pas supportées.\n[ass] Effectuez une mise à jours avant de soumettre un rapport de bug.\n"
#define MSGTR_LIBASS_FcStrSetAddFailed "[ass] FcStrSetAdd a échoué.\n"
#define MSGTR_LIBASS_FcDirScanFailed "[ass] FcDirScan a échoué.\n"
#define MSGTR_LIBASS_FcDirSave "[ass] FcDirSave a échoué.\n"
#define MSGTR_LIBASS_FcConfigAppFontAddDirFailed "[ass] FcConfigAppFontAddDir a échoué\n"
#define MSGTR_LIBASS_FontconfigDisabledDefaultFontWillBeUsed "[ass] Fontconfig desactivé, seule la police par defaut sera utilisée.\n"
#define MSGTR_LIBASS_FunctionCallFailed "[ass] %s a échoué\n"
// ass_render.c
#define MSGTR_LIBASS_NeitherPlayResXNorPlayResYDefined "[ass] Ni PlayResX, ni PlayResY ne sont définis. Suppose 384x288.\n"
#define MSGTR_LIBASS_PlayResYUndefinedSettingY "[ass] PlayResY non défini, ajuste à %d.\n"
#define MSGTR_LIBASS_PlayResXUndefinedSettingX "[ass] PlayResX non défini, ajuste à %d.\n"
#define MSGTR_LIBASS_FT_Init_FreeTypeFailed "[ass] FT_Init_FreeType a échoué.\n"
#define MSGTR_LIBASS_Init "[ass] Initialisation\n"
#define MSGTR_LIBASS_InitFailed "[ass] L'initialisation a échoué.\n"
#define MSGTR_LIBASS_BadCommand "[ass] Mauvaise commande: %c%c\n"
#define MSGTR_LIBASS_ErrorLoadingGlyph "[ass] Erreur au chargement du caractère.\n"
#define MSGTR_LIBASS_FT_Glyph_Stroke_Error "[ass] Erreur FT_Glyph_Stroke %d \n"
#define MSGTR_LIBASS_UnknownEffectType_InternalError "[ass] Type d'erreur inconnu (erreur interne)\n"
#define MSGTR_LIBASS_NoStyleFound "[ass] Aucun style trouvé !\n"
#define MSGTR_LIBASS_EmptyEvent "[ass] Évènement vide !\n"
#define MSGTR_LIBASS_MAX_GLYPHS_Reached "[ass] MAX_GLYPHS atteint: évènement %d, début = %llu, durée = %llu\n Texte = %s\n"
#define MSGTR_LIBASS_EventHeightHasChanged "[ass] Avertissement! La hauteur de l'évènement a changé !\n"
// ass_font.c
#define MSGTR_LIBASS_GlyphNotFoundReselectingFont "[ass] Caractère 0x%X introuvable. Sélectionne une police supplémentaire pour (%s, %d, %d)\n"
#define MSGTR_LIBASS_GlyphNotFound "[ass] Caractère 0x%X introuvable dans la police pour (%s, %d, %d)\n"
#define MSGTR_LIBASS_NoCharmaps "[ass] Famille de police sans description de table de caractères\n"
#define MSGTR_LIBASS_NoCharmapAutodetected "[ass] Pas de description de table de caractères détectée automatiquement. Essai de la première\n"
//tv.c
#define MSGTR_TV_BogusNormParameter "tv.c: norm_from_string(%s) : paramètre de norme bogué. Ajuste à %s.\n"
#define MSGTR_TV_NoVideoInputPresent "Erreur: Pas d'entrée vidéo présente!\n"
#define MSGTR_TV_UnknownImageFormat ""\
"==================================================================\n"\
" AVERTISSEMENT: FORMAT D'IMAGE DE SORTIE NON-TESTÉ OU INCONNU (0x%x)\n"\
" Ceci peut causer une lecture erronée ou un plantage ! Les rapports \n"\
" de bugs seront ignorés ! Vous devriez réessayer avec YV12 (l'espace \n"\
" de couleur par défaut) et lire la documentation !\n"\
"==================================================================\n"
#define MSGTR_TV_SelectedNormId "Identifiant de norme sélectionné: %d\n"
#define MSGTR_TV_SelectedNorm "Norme sélectionnée : %s\n"
#define MSGTR_TV_CannotSetNorm "Erreur : La norme ne peut pas être appliquée !\n"
#define MSGTR_TV_MJP_WidthHeight " MJP: largeur %d hauteur %d\n"
#define MSGTR_TV_UnableToSetWidth "Impossible d'appliquer la largeur requise : %d\n"
#define MSGTR_TV_UnableToSetHeight "Impossible d'appliquer la hauteur requise : %d\n"
#define MSGTR_TV_NoTuner "L'entrée sélectionnée n'a pas de tuner !\n"
#define MSGTR_TV_UnableFindChanlist "Impossible de trouver la liste des canaux sélectionnés ! (%s)\n"
#define MSGTR_TV_SelectedChanlist "Liste des canaux sélectionnés: %s (contenant %d canaux)\n"
#define MSGTR_TV_ChannelFreqParamConflict "Il n'est pas possible de régler la fréquence et le canal simultanément !\n"
#define MSGTR_TV_ChannelNamesDetected "Noms des chaînes TV détectées.\n"
#define MSGTR_TV_NoFreqForChannel "Imposible de trouver la fréquence du canal %s (%s)\n"
#define MSGTR_TV_SelectedChannel3 "Canal sélectionné : %s - %s (fréq: %.3f)\n"
#define MSGTR_TV_SelectedChannel2 "Canal sélectionné : %s (fréq: %.3f)\n"
#define MSGTR_TV_SelectedFrequency "Fréquence sélectionnée : %lu (%.3f)\n"
#define MSGTR_TV_RequestedChannel "Canal choisi: %s\n"
#define MSGTR_TV_UnsupportedAudioType "Format audio '%s (%x)' non-supporté !\n"
#define MSGTR_TV_AudioFormat " TV audio: %d canaux, %d bits, %d Hz\n"
#define MSGTR_TV_AvailableDrivers "Drivers disponibles:\n"
#define MSGTR_TV_DriverInfo "Driver sélectionné: %s\n nom : %s\n auteur : %s\n commentaire : %s\n"
#define MSGTR_TV_NoSuchDriver "Driver inexistant : %s\n"
#define MSGTR_TV_DriverAutoDetectionFailed "La détection auto du driver TV a échouée.\n"
#define MSGTR_TV_UnknownColorOption "Option couleur choisie inconnue (%d) !\n"
#define MSGTR_TV_CurrentFrequency "Fréquence actuelle : %lu (%.3f)\n"
#define MSGTR_TV_NoTeletext "Télétexte absent"
#define MSGTR_TV_Bt848IoctlFailed "tvi_bsdbt848: L'appel à %s ioctl a échoué. Erreur : %s\n"
#define MSGTR_TV_Bt848InvalidAudioRate "tvi_bsdbt848: Taux d'échantillonage audio invalide. Erreur : %s\n"
#define MSGTR_TV_Bt848ErrorOpeningBktrDev "tvi_bsdbt848: Impossible d'ouvrir le périphérique bktr. Erreur : %s\n"
#define MSGTR_TV_Bt848ErrorOpeningTunerDev "tvi_bsdbt848: Impossible d'ouvrir le périphérique tuner. Erreur : %s\n"
#define MSGTR_TV_Bt848ErrorOpeningDspDev "tvi_bsdbt848: Impossible d'ouvrir le périphérique dsp. Erreur : %s\n"
#define MSGTR_TV_Bt848ErrorConfiguringDsp "tvi_bsdbt848: La configuration du périphérique dsp a échoué. Erreur : %s\n"
#define MSGTR_TV_Bt848ErrorReadingAudio "tvi_bsdbt848: Erreur de lecture des données audio. Erreur : %s\n"
#define MSGTR_TV_Bt848MmapFailed "tvi_bsdbt848: mmap a échoué. Erreur : %s\n"
#define MSGTR_TV_Bt848FrameBufAllocFailed "tvi_bsdbt848: L'allocation du buffer de trame a échoué. Erreur : %s\n"
#define MSGTR_TV_Bt848ErrorSettingWidth "tvi_bsdbt848: Erreur du réglage de la largeur de l'image. Erreur : %s\n"
#define MSGTR_TV_Bt848ErrorSettingHeight "tvi_bsdbt848: Erreur du réglage de la hauteur de l'image. Erreur : %s\n"
#define MSGTR_TV_Bt848UnableToStopCapture "tvi_bsdbt848: Impossible d'arréter la capture. Erreur : %s\n"
#define MSGTR_TV_TTSupportedLanguages "Langues supportées par le télétexte:\n"
#define MSGTR_TV_TTSelectedLanguage "Langue sélectionnée par defaut pour le télétexte : %s\n"
#define MSGTR_TV_ScannerNotAvailableWithoutTuner "Le scanner de canaux est indisponible sans le tuner\n"
//tvi_dshow.c
#define MSGTR_TVI_DS_UnableConnectInputVideoDecoder "Impossible de connecter l'entrée spécifiée au décodeur vidéo. Erreur :0x%x\n"
#define MSGTR_TVI_DS_UnableConnectInputAudioDecoder "Impossible de connecter l'entrée spécifiée au décodeur audio. Erreur :0x%x\n"
#define MSGTR_TVI_DS_UnableSelectVideoFormat "tvi_dshow: Impossible de sélectionner le format vidéo. Erreur :0x%x\n"
#define MSGTR_TVI_DS_UnableSelectAudioFormat "tvi_dshow: Impossible de sélectionner le format audio. Erreur :0x%x\n"
#define MSGTR_TVI_DS_UnableGetMediaControlInterface "tvi_dshow: Impossible de se connecter à une interface IMediaControl. Erreur :0x%x\n"
#define MSGTR_TVI_DS_DeviceNotFound "tvi_dshow: Périphérique #%d non trouvé\n"
#define MSGTR_TVI_DS_UnableGetDeviceName "tvi_dshow: Impossible de trouver un nom pour le périphérique #%d\n"
#define MSGTR_TVI_DS_UsingDevice "tvi_dshow: Utilise le périphérique #%d: %s\n"
#define MSGTR_TVI_DS_DeviceName "tvi_dshow: Périphérique #%d: %s\n"
#define MSGTR_TVI_DS_DirectGetFreqFailed "tvi_dshow: Impossible d'obtenir la fréquence directement. La table des canaux incluse à l'OS sera utilisée.\n"
#define MSGTR_TVI_DS_DirectSetFreqFailed "tvi_dshow: Impossible de fixer la fréquence directement. La table des canaux incluse à l'OS sera utilisée.\n"
#define MSGTR_TVI_DS_SupportedNorms "tvi_dshow: normes supportées :"
#define MSGTR_TVI_DS_AvailableVideoInputs "tvi_dshow: Entrées vidéo disponibles :"
#define MSGTR_TVI_DS_AvailableAudioInputs "tvi_dshow: Entrées audio disponibles :"
//following phrase will be printed near the selected audio/video input
#define MSGTR_TVI_DS_InputSelected "(sélectionnée)"
#define MSGTR_TVI_DS_UnableExtractFreqTable "tvi_dshow: Impossible de lire la table des fréquence depuis kstvtune.ax\n"
#define MSGTR_TVI_DS_WrongDeviceParam "tvi_dshow: Mauvais paramêtre de périphérique : %s\n"
#define MSGTR_TVI_DS_WrongDeviceIndex "tvi_dshow: Mauvais index de périphérique: %d\n"
#define MSGTR_TVI_DS_WrongADeviceParam "tvi_dshow: Wrong adevice parameter: %s\n"
#define MSGTR_TVI_DS_WrongADeviceIndex "tvi_dshow: Wrong adevice index: %d\n"
#define MSGTR_TVI_DS_SamplerateNotsupported "tvi_dshow: Le taux d'échantillonage %d n'est pas supporté par le périphérique. Retour au premier taux disponible.\n"
#define MSGTR_TVI_DS_VideoAdjustigNotSupported "tvi_dshow: Ajustement de la brillance/teinte/saturation/contraste non supportée par le périphérique\n"
#define MSGTR_TVI_DS_ChangingWidthHeightNotSupported "tvi_dshow: L'ajustement de la hauteur/largeur de la vidéo n'est pas supportée par le périphérique.\n"
#define MSGTR_TVI_DS_SelectingInputNotSupported "tvi_dshow: La sélection de la source de capture n'est pas supportée par le périphérique\n"
#define MSGTR_TVI_DS_ErrorParsingAudioFormatStruct "tvi_dshow: Impossible d'analyser la structure du format audio.\n"
#define MSGTR_TVI_DS_ErrorParsingVideoFormatStruct "tvi_dshow: Impossible d'analyser la structure du format vidéo.\n"
#define MSGTR_TVI_DS_UnableSetAudioMode "tvi_dshow: Impossible d'utiliser le mode audio %d. Erreur :0x%x\n"
#define MSGTR_TVI_DS_UnsupportedMediaType "tvi_dshow: Type de média non supporté passé vers %s\n"
#define MSGTR_TVI_DS_UnableFindNearestChannel "tvi_dshow: Impossible de trouver le canal le plus proche dans la table des fréquences du système\n"
#define MSGTR_TVI_DS_UnableToSetChannel "tvi_dshow: Impossible de basculer sur le canal le plus proche depuis la table des fréquences du système. Erreur :0x%x\n"
#define MSGTR_TVI_DS_NoVideoCaptureDevice "tvi_dshow: Impossible de trouver un périphérique de capture vidéo\n"
#define MSGTR_TVI_DS_NoAudioCaptureDevice "tvi_dshow: Impossible de trouver un périphérique de capture audio\n"
#define MSGTR_TVI_DS_GetActualMediatypeFailed "tvi_dshow: Impossible d'obtenir le type de média réel (Erreur:0x%x). Suppose qu'il s'agit de celui requis.\n"
/* Messages to be moved to the section where they belong in the English version */ /* Messages to be moved to the section where they belong in the English version */

View File

@ -3,7 +3,7 @@
//... Okay enough of the hw, now send the other two! //... Okay enough of the hw, now send the other two!
// //
// Updated by: Gabrov <gabrov@freemail.hu> // Updated by: Gabrov <gabrov@freemail.hu>
// Sync'ed with help_mp-en.h r26649 (2008. 05. 11.) // Sync'ed with help_mp-en.h r26911 (2008. 06. 02.)
// ========================= MPlayer help =========================== // ========================= MPlayer help ===========================
@ -1295,6 +1295,12 @@ static char help_text[]=
#define MSGTR_INPUT_JOYSTICK_WarnLostSync "Botkormány: figyelmeztető init esemény, elvesztettük a szinkront a vezérlővel.\n" #define MSGTR_INPUT_JOYSTICK_WarnLostSync "Botkormány: figyelmeztető init esemény, elvesztettük a szinkront a vezérlővel.\n"
#define MSGTR_INPUT_JOYSTICK_WarnUnknownEvent "Botkormány ismeretlen figyelmeztető esemény típus: %d\n" #define MSGTR_INPUT_JOYSTICK_WarnUnknownEvent "Botkormány ismeretlen figyelmeztető esemény típus: %d\n"
// appleir.c
#define MSGTR_INPUT_APPLE_IR_Init "Apple IR inicializálása %s eszközön.\n"
#define MSGTR_INPUT_APPLE_IR_Detect "Apple IR megtalálva %s eszközön.\n"
#define MSGTR_INPUT_APPLE_IR_CantOpen "Nem nyitható meg az Apple IR eszköz: %s\n"
// input.c // input.c
#define MSGTR_INPUT_INPUT_ErrCantRegister2ManyCmdFds "Túl sok parancs fájl leíró, nem sikerült a(z) %d fájl leíró regisztálása.\n" #define MSGTR_INPUT_INPUT_ErrCantRegister2ManyCmdFds "Túl sok parancs fájl leíró, nem sikerült a(z) %d fájl leíró regisztálása.\n"
@ -1704,7 +1710,8 @@ static char help_text[]=
#define MSGTR_LIBVO_MGA_InvalidOutputFormat "[MGA] Hibás kimeneti formátum %0X\n" #define MSGTR_LIBVO_MGA_InvalidOutputFormat "[MGA] Hibás kimeneti formátum %0X\n"
#define MSGTR_LIBVO_MGA_IncompatibleDriverVersion "[MGA] Az mga_vid vezérlőd verziója nem kompatibilis ezzel az MPlayer verzióval!\n" #define MSGTR_LIBVO_MGA_IncompatibleDriverVersion "[MGA] Az mga_vid vezérlőd verziója nem kompatibilis ezzel az MPlayer verzióval!\n"
#define MSGTR_LIBVO_MGA_CouldntOpen "[MGA] Nem nyitható meg: %s\n" #define MSGTR_LIBVO_MGA_CouldntOpen "[MGA] Nem nyitható meg: %s\n"
#define MGSTR_LIBVO_MGA_ResolutionTooHigh "[MGA] A forrás felbontás legalább egy dimenzióban nagyobb, mint 1023x1023. Kérlek méretezd át szoftveresen vagy használd a -lavdopts lowres=1-t\n" #define MGSTR_LIBVO_MGA_ResolutionTooHigh "[MGA] A forrás felbontása legalább egy dimenzióban nagyobb, mint 1023x1023. Méretezd át szoftveresen vagy használd a -lavdopts lowres=1-t\n"
#define MGSTR_LIBVO_MGA_mgavidVersionMismatch "[MGA] különbség a kernel (%u) és az MPlayer (%u) mga_vid verziói között\n"
// libvo/vesa_lvo.c // libvo/vesa_lvo.c
@ -1953,6 +1960,7 @@ static char help_text[]=
"[VO_XV] majd olvasd el a DOCS/HTML/hu/video.html#xv fájlt!\n"\ "[VO_XV] majd olvasd el a DOCS/HTML/hu/video.html#xv fájlt!\n"\
"[VO_XV] Lásd az 'mplayer -vo help'-et más (nem-xv) videó kimeneti vezérlőkért.\n"\ "[VO_XV] Lásd az 'mplayer -vo help'-et más (nem-xv) videó kimeneti vezérlőkért.\n"\
"[VO_XV] Próbáld ki a -vo x11 -et.\n" "[VO_XV] Próbáld ki a -vo x11 -et.\n"
#define MSGTR_LIBVO_XV_Adaptor "[VO_XV] Xv Adaptor #%d (%s) használata\n"
// loader/ldt_keeper.c // loader/ldt_keeper.c

View File

@ -546,7 +546,7 @@ static char help_text[]=
#define MSGTR_DVDlimitSpeed "Limitazione della velocità del DVD a %dKB/s... " #define MSGTR_DVDlimitSpeed "Limitazione della velocità del DVD a %dKB/s... "
#define MSGTR_DVDlimitFail "non riuscita\n" #define MSGTR_DVDlimitFail "non riuscita\n"
#define MSGTR_DVDlimitOk "riuscita\n" #define MSGTR_DVDlimitOk "riuscita\n"
#define MSGTR_CantOpenDVD "Impossibile aprire il dispositivo DVD: %s\n" #define MSGTR_CantOpenDVD "Impossibile aprire il dispositivo DVD: %s (%s)\n"
#define MSGTR_NoDVDSupport "MPlayer è stato compilato senza il supporto per DVD, esco\n" #define MSGTR_NoDVDSupport "MPlayer è stato compilato senza il supporto per DVD, esco\n"
#define MSGTR_DVDnumTitles "Ci sono %d titolo/i su questo DVD.\n" #define MSGTR_DVDnumTitles "Ci sono %d titolo/i su questo DVD.\n"
#define MSGTR_DVDinvalidTitle "Numero del titolo del DVD non valido: %d\n" #define MSGTR_DVDinvalidTitle "Numero del titolo del DVD non valido: %d\n"

View File

@ -168,7 +168,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "ローカルエリアネットワークから開くことが出来ませんでした: '%s'\n" #define MSGTR_SMBFileNotFound "ローカルエリアネットワークから開くことが出来ませんでした: '%s'\n"
#define MSGTR_SMBNotCompiled "MPlayer はSMB reading support を無効にしてコンパイルされています\n" #define MSGTR_SMBNotCompiled "MPlayer はSMB reading support を無効にしてコンパイルされています\n"
#define MSGTR_CantOpenDVD "DVDデバイスを開くことが出来ませんでした: %s\n" #define MSGTR_CantOpenDVD "DVDデバイスを開くことが出来ませんでした: %s (%s)\n"
#define MSGTR_DVDnumTitles "このDVDには %d タイトル記録されています.\n" #define MSGTR_DVDnumTitles "このDVDには %d タイトル記録されています.\n"
#define MSGTR_DVDinvalidTitle "不正な DVD タイトル番号です: %d\n" #define MSGTR_DVDinvalidTitle "不正な DVD タイトル番号です: %d\n"
#define MSGTR_DVDnumChapters "このDVDは %d キャプターあります.\n" #define MSGTR_DVDnumChapters "このDVDは %d キャプターあります.\n"

View File

@ -221,7 +221,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "lan으로 부터 열 수 없습니다.: '%s'\n" #define MSGTR_SMBFileNotFound "lan으로 부터 열 수 없습니다.: '%s'\n"
#define MSGTR_SMBNotCompiled "MPlayer가 SMB읽기를 할 수 있도록 컴파일되지 않았습니다.\n" #define MSGTR_SMBNotCompiled "MPlayer가 SMB읽기를 할 수 있도록 컴파일되지 않았습니다.\n"
#define MSGTR_CantOpenDVD "DVD 장치를 열 수 없습니다.: %s\n" #define MSGTR_CantOpenDVD "DVD 장치를 열 수 없습니다.: %s (%s)\n"
#define MSGTR_DVDnumTitles "이 DVD에는 %d개의 타이틀이 있습니다.\n" #define MSGTR_DVDnumTitles "이 DVD에는 %d개의 타이틀이 있습니다.\n"
#define MSGTR_DVDinvalidTitle "유효하지 않은 DVD 타이틀 번호입니다.: %d\n" #define MSGTR_DVDinvalidTitle "유효하지 않은 DVD 타이틀 번호입니다.: %d\n"
#define MSGTR_DVDnumChapters "이 DVD 타이틀에는 %d개의 챕터가 있습니다.\n" #define MSGTR_DVDnumChapters "이 DVD 타이틀에는 %d개의 챕터가 있습니다.\n"

View File

@ -222,7 +222,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "Не може да отвори од локалната мрежа: '%s'\n" #define MSGTR_SMBFileNotFound "Не може да отвори од локалната мрежа: '%s'\n"
#define MSGTR_SMBNotCompiled "MPlayer не е компајлиран со подршка за SMB читање\n" #define MSGTR_SMBNotCompiled "MPlayer не е компајлиран со подршка за SMB читање\n"
#define MSGTR_CantOpenDVD "Не можеше да се отвори DVD уредот: %s\n" #define MSGTR_CantOpenDVD "Не можеше да се отвори DVD уредот: %s (%s)\n"
#define MSGTR_DVDnumTitles "Има %d наслови на ова DVD.\n" #define MSGTR_DVDnumTitles "Има %d наслови на ова DVD.\n"
#define MSGTR_DVDinvalidTitle "Невалиден DVD број на насловот: %d\n" #define MSGTR_DVDinvalidTitle "Невалиден DVD број на насловот: %d\n"
#define MSGTR_DVDnumChapters "Има %d поглавја на овој DVD наслов.\n" #define MSGTR_DVDnumChapters "Има %d поглавја на овој DVD наслов.\n"

View File

@ -98,7 +98,7 @@ static char help_text[]=
#define MSGTR_ConnToServer "Koblet til server: %s\n" #define MSGTR_ConnToServer "Koblet til server: %s\n"
#define MSGTR_FileNotFound "Finner ikke filen: '%s'\n" #define MSGTR_FileNotFound "Finner ikke filen: '%s'\n"
#define MSGTR_CantOpenDVD "Kan ikke åpne DVD enhet: %s\n" #define MSGTR_CantOpenDVD "Kan ikke åpne DVD enhet: %s (%s)\n"
#define MSGTR_DVDnumTitles "Det er %d titler på denne DVD.\n" #define MSGTR_DVDnumTitles "Det er %d titler på denne DVD.\n"
#define MSGTR_DVDinvalidTitle "Ugyldig DVD tittelnummer: %d\n" #define MSGTR_DVDinvalidTitle "Ugyldig DVD tittelnummer: %d\n"
#define MSGTR_DVDnumChapters "Det er %d kapitler i denne DVD tittelen.\n" #define MSGTR_DVDnumChapters "Det er %d kapitler i denne DVD tittelen.\n"

View File

@ -153,7 +153,6 @@ static char help_text[]=
#define MSGTR_MenuInitFailed "Menu initialisatie mislukt.\n" #define MSGTR_MenuInitFailed "Menu initialisatie mislukt.\n"
#define MSGTR_Getch2InitializedTwice "WAARSCHUWING: getch2_init is twee maal opgeroepen!\n" #define MSGTR_Getch2InitializedTwice "WAARSCHUWING: getch2_init is twee maal opgeroepen!\n"
#define MSGTR_DumpstreamFdUnavailable "Deze stream can niet opgeslagen worde - geen bestandsomschrijving (file descriptor) beschikbaar.\n" #define MSGTR_DumpstreamFdUnavailable "Deze stream can niet opgeslagen worde - geen bestandsomschrijving (file descriptor) beschikbaar.\n"
#define MSGTR_FallingBackOnPlaylist "De afspeellijst %s wordt opnieuw ingelezen ...\n"
#define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "Kan de libmenu video filter niet openen met het root menu %s.\n" #define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "Kan de libmenu video filter niet openen met het root menu %s.\n"
#define MSGTR_AudioFilterChainPreinitError "Er is een fout opgetreden bijde pre-initialisatie van de audio filter!\n" #define MSGTR_AudioFilterChainPreinitError "Er is een fout opgetreden bijde pre-initialisatie van de audio filter!\n"
#define MSGTR_LinuxRTCReadError "Linux RTC leesfout: %s\n" #define MSGTR_LinuxRTCReadError "Linux RTC leesfout: %s\n"
@ -429,7 +428,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "Kon netwerkbestand '%s' niet openen\n" #define MSGTR_SMBFileNotFound "Kon netwerkbestand '%s' niet openen\n"
#define MSGTR_SMBNotCompiled "MPlayer werd niet gecompileerd met SMB leesondersteuning\n" #define MSGTR_SMBNotCompiled "MPlayer werd niet gecompileerd met SMB leesondersteuning\n"
#define MSGTR_CantOpenDVD "Kon DVD device niet openen: %s\n" #define MSGTR_CantOpenDVD "Kon DVD device niet openen: %s (%s)\n"
#define MSGTR_DVDnumTitles "Er zijn %d titels op deze DVD.\n" #define MSGTR_DVDnumTitles "Er zijn %d titels op deze DVD.\n"
#define MSGTR_DVDinvalidTitle "Foutieve DVD titelnummer: %d\n" #define MSGTR_DVDinvalidTitle "Foutieve DVD titelnummer: %d\n"
#define MSGTR_DVDnumChapters "Er zijn %d hoofdstukken in deze DVD titel.\n" #define MSGTR_DVDnumChapters "Er zijn %d hoofdstukken in deze DVD titel.\n"

View File

@ -158,7 +158,6 @@ static char help_text[]=
#define MSGTR_MenuInitFailed "Nie mogę zainicjować menu.\n" #define MSGTR_MenuInitFailed "Nie mogę zainicjować menu.\n"
#define MSGTR_Getch2InitializedTwice "UWAGA: getch2_init wywołany dwukrotnie!\n" #define MSGTR_Getch2InitializedTwice "UWAGA: getch2_init wywołany dwukrotnie!\n"
#define MSGTR_DumpstreamFdUnavailable "Nie mogę zrzucić strumienia - brak deskryptora pliku\n" #define MSGTR_DumpstreamFdUnavailable "Nie mogę zrzucić strumienia - brak deskryptora pliku\n"
#define MSGTR_FallingBackOnPlaylist "Próbuję zinterpretować listę odtwarzania %s...\n"
#define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "Nie mogę otworzyć filtru video libmenu z głownym menu %s.\n" #define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "Nie mogę otworzyć filtru video libmenu z głownym menu %s.\n"
#define MSGTR_AudioFilterChainPreinitError "Błąd preinicjalizacji łańcucha filtru audio!\n" #define MSGTR_AudioFilterChainPreinitError "Błąd preinicjalizacji łańcucha filtru audio!\n"
#define MSGTR_LinuxRTCReadError "Błąd odczytu RTC Linuxa : %s\n" #define MSGTR_LinuxRTCReadError "Błąd odczytu RTC Linuxa : %s\n"
@ -513,7 +512,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "Nie mogę otworzyć z sieci lokalnej (LAN): '%s'\n" #define MSGTR_SMBFileNotFound "Nie mogę otworzyć z sieci lokalnej (LAN): '%s'\n"
#define MSGTR_SMBNotCompiled "Brak wkompilowanej obsługi zasobów SMB.\n" #define MSGTR_SMBNotCompiled "Brak wkompilowanej obsługi zasobów SMB.\n"
#define MSGTR_CantOpenDVD "Nie znaleziono DVD: %s\n" #define MSGTR_CantOpenDVD "Nie znaleziono DVD: %s (%s)\n"
// stream_dvd.c // stream_dvd.c
#define MSGTR_NoDVDSupport "MPlayer został skompilowany bez obsługi DVD support, wychodzę.\n" #define MSGTR_NoDVDSupport "MPlayer został skompilowany bez obsługi DVD support, wychodzę.\n"
@ -1839,7 +1838,6 @@ static char help_text[]=
#define MSGTR_RADIO_CaptureStarting "[radio] Zaczynam nagrywanie.\n" #define MSGTR_RADIO_CaptureStarting "[radio] Zaczynam nagrywanie.\n"
#define MSGTR_RADIO_ClearBufferFailed "[radio] Czyszczenie bufora nie powiodło się: %s\n" #define MSGTR_RADIO_ClearBufferFailed "[radio] Czyszczenie bufora nie powiodło się: %s\n"
#define MSGTR_RADIO_StreamEnableCacheFailed "[radio] Wywołanie stream_enable_cache nie powiodło się: %s\n" #define MSGTR_RADIO_StreamEnableCacheFailed "[radio] Wywołanie stream_enable_cache nie powiodło się: %s\n"
#define MSGTR_RADIO_DriverUnknownId "[radio] Nieznany id sterownika: %d\n"
#define MSGTR_RADIO_DriverUnknownStr "[radio] Nieznana nazwa sterownika: %s\n" #define MSGTR_RADIO_DriverUnknownStr "[radio] Nieznana nazwa sterownika: %s\n"
#define MSGTR_RADIO_DriverV4L2 "[radio] Używam interfejsu radiowego V4Lv2.\n" #define MSGTR_RADIO_DriverV4L2 "[radio] Używam interfejsu radiowego V4Lv2.\n"
#define MSGTR_RADIO_DriverV4L "[radio] Używam interfejsu radiowego V4Lv1.\n" #define MSGTR_RADIO_DriverV4L "[radio] Używam interfejsu radiowego V4Lv1.\n"

View File

@ -228,7 +228,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "Impossível abrir da \"lan\": '%s'\n" #define MSGTR_SMBFileNotFound "Impossível abrir da \"lan\": '%s'\n"
#define MSGTR_SMBNotCompiled "MPlayer não foi compilado com suporte a leitura de SMB\n" #define MSGTR_SMBNotCompiled "MPlayer não foi compilado com suporte a leitura de SMB\n"
#define MSGTR_CantOpenDVD "Impossível abrir dispositivo de DVD: %s\n" #define MSGTR_CantOpenDVD "Impossível abrir dispositivo de DVD: %s (%s)\n"
#define MSGTR_DVDnumTitles "Existem %d títulos neste DVD.\n" #define MSGTR_DVDnumTitles "Existem %d títulos neste DVD.\n"
#define MSGTR_DVDinvalidTitle "Número do título do DVD inválido: %d\n" #define MSGTR_DVDinvalidTitle "Número do título do DVD inválido: %d\n"
#define MSGTR_DVDnumChapters "Existem %d capítulos neste título de DVD.\n" #define MSGTR_DVDnumChapters "Existem %d capítulos neste título de DVD.\n"

View File

@ -211,7 +211,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "Nu pot deschide de pe LAN: '%s'\n" #define MSGTR_SMBFileNotFound "Nu pot deschide de pe LAN: '%s'\n"
#define MSGTR_CantOpenDVD "Nu pot deschide DVD-ul: %s\n" #define MSGTR_CantOpenDVD "Nu pot deschide DVD-ul: %s (%s)\n"
#define MSGTR_DVDnumTitles "Sunt %d titluri pe acest DVD.\n" #define MSGTR_DVDnumTitles "Sunt %d titluri pe acest DVD.\n"
#define MSGTR_DVDinvalidTitle "Numãrul titlului DVD greºit: %d\n" #define MSGTR_DVDinvalidTitle "Numãrul titlului DVD greºit: %d\n"
#define MSGTR_DVDnumChapters "Sunt %d capitole în acest titlu.\n" #define MSGTR_DVDnumChapters "Sunt %d capitole în acest titlu.\n"

View File

@ -2,7 +2,7 @@
// Dmitry Baryshkov <mitya@school.ioffe.ru> // Dmitry Baryshkov <mitya@school.ioffe.ru>
// Reworked by: Andrew Savchenko aka Bircoph <Bircoph[at]list[dot]ru> // Reworked by: Andrew Savchenko aka Bircoph <Bircoph[at]list[dot]ru>
// Synced with help_mp-en.h: r26067 // Synced with help_mp-en.h: r26795
// ========================= MPlayer help =========================== // ========================= MPlayer help ===========================
@ -1387,7 +1387,7 @@ static char help_text[]=
#define MSGTR_LIBASS_EventHeightHasChanged "[ass] Внимание! Высота события изменилась! \n" #define MSGTR_LIBASS_EventHeightHasChanged "[ass] Внимание! Высота события изменилась! \n"
// ass_font.c // ass_font.c
#define MSGTR_LIBASS_GlyphNotFoundReselectingFont "[ass] Глиф 0x%X не найден, выбираю шрифт заново для (%s, %d, %d)\n" #define MSGTR_LIBASS_GlyphNotFoundReselectingFont "[ass] Глиф 0x%X не найден, выбираю еще один шрифт для (%s, %d, %d)\n"
#define MSGTR_LIBASS_GlyphNotFound "[ass] В шрифте не найден глиф 0x%X для (%s, %d, %d)\n" #define MSGTR_LIBASS_GlyphNotFound "[ass] В шрифте не найден глиф 0x%X для (%s, %d, %d)\n"
#define MSGTR_LIBASS_ErrorOpeningMemoryFont "[ass] Ошибка открытия шрифта в памяти: %s\n" #define MSGTR_LIBASS_ErrorOpeningMemoryFont "[ass] Ошибка открытия шрифта в памяти: %s\n"
#define MSGTR_LIBASS_NoCharmaps "[ass] шрифт без таблиц символов\n" #define MSGTR_LIBASS_NoCharmaps "[ass] шрифт без таблиц символов\n"
@ -1408,6 +1408,12 @@ static char help_text[]=
#define MSGTR_INPUT_JOYSTICK_WarnLostSync "Джойстик: предупреждение о событии инициализации,\nотеряна синхронизация с драйвером.\n" #define MSGTR_INPUT_JOYSTICK_WarnLostSync "Джойстик: предупреждение о событии инициализации,\nотеряна синхронизация с драйвером.\n"
#define MSGTR_INPUT_JOYSTICK_WarnUnknownEvent "Джойстик: предупреждение о неизвестном типе события %d\n" #define MSGTR_INPUT_JOYSTICK_WarnUnknownEvent "Джойстик: предупреждение о неизвестном типе события %d\n"
// appleir.c
#define MSGTR_INPUT_APPLE_IR_Init "Инициализация Apple IR на %s\n"
#define MSGTR_INPUT_APPLE_IR_Detect "Обнаружен Apple IR на %s\n"
#define MSGTR_INPUT_APPLE_IR_CantOpen "Невозможно открыть устройство Apple IR: %s\n"
// input.c // input.c
#define MSGTR_INPUT_INPUT_ErrCantRegister2ManyCmdFds "Слишком много описателей файлов команд,\nне могу зарегистрировать файловый описатель %d.\n" #define MSGTR_INPUT_INPUT_ErrCantRegister2ManyCmdFds "Слишком много описателей файлов команд,\nне могу зарегистрировать файловый описатель %d.\n"
@ -2066,6 +2072,7 @@ static char help_text[]=
"[VO_XV] DOCS/HTML/ru/video.html#xv!\n"\ "[VO_XV] DOCS/HTML/ru/video.html#xv!\n"\
"[VO_XV] Другие (не-xv) драйверы ищите в выводе 'mplayer -vo help'.\n"\ "[VO_XV] Другие (не-xv) драйверы ищите в выводе 'mplayer -vo help'.\n"\
"[VO_XV] Попробуйте -vo x11.\n" "[VO_XV] Попробуйте -vo x11.\n"
#define MSGTR_LIBVO_XV_Adaptor "[VO_XV] Использую Xv Адаптер #%d (%s)\n"
//tv.c //tv.c
#define MSGTR_TV_BogusNormParameter "tv.c: norm_from_string(%s): Неизвестный параметр norm, устанавливается %s.\n" #define MSGTR_TV_BogusNormParameter "tv.c: norm_from_string(%s): Неизвестный параметр norm, устанавливается %s.\n"

View File

@ -158,7 +158,6 @@ static char help_text[]=
#define MSGTR_MenuInitFailed "Zlyhala inicializácia menu.\n" #define MSGTR_MenuInitFailed "Zlyhala inicializácia menu.\n"
#define MSGTR_Getch2InitializedTwice "VAROVANIE: getch2_init je volaná dvakrát!\n" #define MSGTR_Getch2InitializedTwice "VAROVANIE: getch2_init je volaná dvakrát!\n"
#define MSGTR_DumpstreamFdUnavailable "Nemôžem uložiť (dump) tento prúd - nie je dostupný žiaden deskriptor súboru.\n" #define MSGTR_DumpstreamFdUnavailable "Nemôžem uložiť (dump) tento prúd - nie je dostupný žiaden deskriptor súboru.\n"
#define MSGTR_FallingBackOnPlaylist "Ustupujem od pokusu o spracovanie playlistu %s...\n"
#define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "Nemôžem otvoriť video filter libmenu s koreňovým menu %s.\n" #define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "Nemôžem otvoriť video filter libmenu s koreňovým menu %s.\n"
#define MSGTR_AudioFilterChainPreinitError "Chyba pri predinicializácii reťazca audio filtrov!\n" #define MSGTR_AudioFilterChainPreinitError "Chyba pri predinicializácii reťazca audio filtrov!\n"
#define MSGTR_LinuxRTCReadError "Chyba pri čítaní z Linuxových RTC: %s\n" #define MSGTR_LinuxRTCReadError "Chyba pri čítaní z Linuxových RTC: %s\n"
@ -506,7 +505,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "Nemôžem otvoriť z LAN: '%s'\n" #define MSGTR_SMBFileNotFound "Nemôžem otvoriť z LAN: '%s'\n"
#define MSGTR_SMBNotCompiled "MPlayer mebol skompilovaný s podporou čítania z SMB\n" #define MSGTR_SMBNotCompiled "MPlayer mebol skompilovaný s podporou čítania z SMB\n"
#define MSGTR_CantOpenDVD "Nejde otvoriť DVD zariadenie: %s\n" #define MSGTR_CantOpenDVD "Nejde otvoriť DVD zariadenie: %s (%s)\n"
#define MSGTR_NoDVDSupport "MPlayer bol skompilovaný bez podpory DVD, koniec\n" #define MSGTR_NoDVDSupport "MPlayer bol skompilovaný bez podpory DVD, koniec\n"
#define MSGTR_DVDnumTitles "Na tomto DVD je %d titulov.\n" #define MSGTR_DVDnumTitles "Na tomto DVD je %d titulov.\n"
#define MSGTR_DVDinvalidTitle "Neplatné číslo DVD titulu: %d\n" #define MSGTR_DVDinvalidTitle "Neplatné číslo DVD titulu: %d\n"

View File

@ -156,7 +156,6 @@ static char help_text[]=
#define MSGTR_MenuInitFailed "Menyinitiering misslyckades.\n" #define MSGTR_MenuInitFailed "Menyinitiering misslyckades.\n"
#define MSGTR_Getch2InitializedTwice "VARNING: getch2_init anropad dubbelt!\n" #define MSGTR_Getch2InitializedTwice "VARNING: getch2_init anropad dubbelt!\n"
#define MSGTR_DumpstreamFdUnavailable "Kan inte dumpa denna ström - ingen 'fd' tillgänglig.\n" #define MSGTR_DumpstreamFdUnavailable "Kan inte dumpa denna ström - ingen 'fd' tillgänglig.\n"
#define MSGTR_FallingBackOnPlaylist "Faller tillbaka med att försöka tolka spellista %s...\n"
#define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "Kan inte öppna 'libmenu video filter' med rotmeny %s.\n" #define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "Kan inte öppna 'libmenu video filter' med rotmeny %s.\n"
#define MSGTR_AudioFilterChainPreinitError "Fel vid förinitiering av audiofilter!\n" #define MSGTR_AudioFilterChainPreinitError "Fel vid förinitiering av audiofilter!\n"
#define MSGTR_LinuxRTCReadError "'Linux RTC' läsfel: %s\n" #define MSGTR_LinuxRTCReadError "'Linux RTC' läsfel: %s\n"
@ -441,7 +440,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "Kunde inte öppna från LAN: '%s'\n" #define MSGTR_SMBFileNotFound "Kunde inte öppna från LAN: '%s'\n"
#define MSGTR_SMBNotCompiled "MPlayer var inte kompilerad med SMB-lässtöd.\n" #define MSGTR_SMBNotCompiled "MPlayer var inte kompilerad med SMB-lässtöd.\n"
#define MSGTR_CantOpenDVD "Kunde inte öppna DVD-enhet: %s\n" #define MSGTR_CantOpenDVD "Kunde inte öppna DVD-enhet: %s (%s)\n"
#define MSGTR_DVDnumTitles "Det är %d titlar på denna DVD.\n" #define MSGTR_DVDnumTitles "Det är %d titlar på denna DVD.\n"
#define MSGTR_DVDinvalidTitle "Icke godkänt DVD-titelnummer: %d\n" #define MSGTR_DVDinvalidTitle "Icke godkänt DVD-titelnummer: %d\n"
#define MSGTR_DVDnumChapters "Der är %d kapitel på denna DVD-titel.\n" #define MSGTR_DVDnumChapters "Der är %d kapitel på denna DVD-titel.\n"

View File

@ -603,7 +603,7 @@ static char help_text[]=
#define MSGTR_FormatNotRecognized "============ Üzgünüm, bu dosya biçimi desteklenmiyor ===========\n"\ #define MSGTR_FormatNotRecognized "============ Üzgünüm, bu dosya biçimi desteklenmiyor ===========\n"\
"=== Dosya bir AVI,ASF veya MPEG yayın biçimi ise, lütfen geliştiricilere bildiriniz. ===\n" "=== Dosya bir AVI,ASF veya MPEG yayın biçimi ise, lütfen geliştiricilere bildiriniz. ===\n"
#define MSGTR_SettingProcessPriority "İşlem önceliği ayarlanıyor: %s\n" #define MSGTR_SettingProcessPriority "İşlem önceliği ayarlanıyor: %s\n"
#define MSGTR_FilefmtFourccSizeFpsFtime "[V] filefmt:%d fourcc:0x%X boyut:%dx%d fps:%5.2f ftime:=%6.4f\n" #define MSGTR_FilefmtFourccSizeFpsFtime "[V] filefmt:%d fourcc:0x%X boyut:%dx%d fps:%5.3f ftime:=%6.4f\n"
#define MSGTR_CannotInitializeMuxer "Cannot initialize muxer." #define MSGTR_CannotInitializeMuxer "Cannot initialize muxer."
#define MSGTR_MissingVideoStream "Video yayını bulunamadı!\n" #define MSGTR_MissingVideoStream "Video yayını bulunamadı!\n"
#define MSGTR_MissingAudioStream "Ses yayını bulunamadı... -> ses yok\n" #define MSGTR_MissingAudioStream "Ses yayını bulunamadı... -> ses yok\n"

View File

@ -215,7 +215,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "Помилка відкриття з мережі: '%s'\n" #define MSGTR_SMBFileNotFound "Помилка відкриття з мережі: '%s'\n"
#define MSGTR_SMBNotCompiled "MPlayer не має вкомпільованої підтримки SMB\n" #define MSGTR_SMBNotCompiled "MPlayer не має вкомпільованої підтримки SMB\n"
#define MSGTR_CantOpenDVD "Не зміг відкрити DVD: %s\n" #define MSGTR_CantOpenDVD "Не зміг відкрити DVD: %s (%s)\n"
#define MSGTR_DVDnumTitles "Є %d доріжок з титрами на цьому DVD.\n" #define MSGTR_DVDnumTitles "Є %d доріжок з титрами на цьому DVD.\n"
#define MSGTR_DVDinvalidTitle "Неприпустимий номер доріжки титрів на DVD: %d\n" #define MSGTR_DVDinvalidTitle "Неприпустимий номер доріжки титрів на DVD: %d\n"
#define MSGTR_DVDnumChapters "Є %d розділів на цій доріжці з DVD титрами.\n" #define MSGTR_DVDnumChapters "Є %d розділів на цій доріжці з DVD титрами.\n"

View File

@ -1,4 +1,4 @@
//Synced with help_mp-en.h r26067 MSGTR_Exit_SIGILL_RTCpuSel // Synced with help_mp-en.h r26863 MSGTR_EdlOutOfMem
// Reminder of hard terms which need better/final solution later: // Reminder of hard terms which need better/final solution later:
// (file links to be updated later if available!); // (file links to be updated later if available!);
// NAV; section/subsection; XScreenSaver; keycolor; // NAV; section/subsection; XScreenSaver; keycolor;
@ -37,7 +37,7 @@ static char help_text[]=
" -playlist <文件> 指定播放列表文件\n" " -playlist <文件> 指定播放列表文件\n"
" -vid x -aid y 选择播放视频流x和音频流y\n" " -vid x -aid y 选择播放视频流x和音频流y\n"
" -fps x -srate y 改变视频帧率为 xfps音频采样率为 yHz\n" " -fps x -srate y 改变视频帧率为 xfps音频采样率为 yHz\n"
" -pp <质量> 启用后期处理过滤器/滤镜(详见于手册相关页面)\n" " -pp <质量> 启用后期处理过滤器(详见于手册相关页面)\n"
" -framedrop 启用丢帧(用于运行慢的机器)\n" " -framedrop 启用丢帧(用于运行慢的机器)\n"
"\n" "\n"
"基本控制键: (完整列表见手册相关页面,也请查阅 input.conf\n" "基本控制键: (完整列表见手册相关页面,也请查阅 input.conf\n"
@ -137,58 +137,58 @@ static char help_text[]=
#define MSGTR_PlaylistLoadUnable "\n无法装载播放列表 %s\n" #define MSGTR_PlaylistLoadUnable "\n无法装载播放列表 %s\n"
#define MSGTR_Exit_SIGILL_RTCpuSel \ #define MSGTR_Exit_SIGILL_RTCpuSel \
"- “非法指令”导致 MPlayer 崩溃。\n"\ "- “非法指令”导致 MPlayer 崩溃。\n"\
" 这可能是我们的新代码中运行时 CPU-检测的一个错误...\n"\ " 这可能是我们新的实时 CPU 侦测代码中的一个缺陷...\n"\
" 请阅读 DOCS/zh/bugreports.html。\n" " 请阅读 DOCS/zh/bugreports.html。\n"
#define MSGTR_Exit_SIGILL \ #define MSGTR_Exit_SIGILL \
"- “非法指令”导致 MPlayer 崩溃。\n"\ "- “非法指令”导致 MPlayer 崩溃。\n"\
" 这通常发生在现在你所运行之上的 CPU 不同于\n"\ " 这通常是在你运行 MPlayer 的 CPU 与其\n"\
" 编译/优化时的 CPU 所造成的\n"\ " 编译/优化时所针对的 CPU 不同时发生\n"\
" 证实它\n" " 检查是否如此\n"
#define MSGTR_Exit_SIGSEGV_SIGFPE \ #define MSGTR_Exit_SIGSEGV_SIGFPE \
"- 过度使用 CPU/FPU/RAM 导致 MPlayer 崩溃。\n"\ "- 不合理使用 CPU/FPU/RAM 导致 MPlayer 崩溃。\n"\
" 使用 --enable-debug 重新编译 MPlayer 并用调试程序“gdb”反跟踪和\n"\ " 使用 --enable-debug 重新编译 MPlayer 并建立“gdb”反跟踪和\n"\
" 反汇编。具体细节看 DOCS/zh/bugreports.html#crash。\n" " 反汇编输出。具体细节见 DOCS/zh/bugreports.html#crash。\n"
#define MSGTR_Exit_SIGCRASH \ #define MSGTR_Exit_SIGCRASH \
"- MPlayer 崩溃了。这不应该发生。\n"\ "- MPlayer 崩溃了。这不应该发生。\n"\
" 这可能是 MPlayer 代码中 _或者_ 你的驱动中 _或者_ 你的 gcc 版本中的一个\n"\ " 这可能是 MPlayer 或者 你的驱动中 或者 你的 gcc 版本中的一个缺陷。\n"\
" 错误。如你觉得这是 MPlayer 的错误,请阅读 DOCS/zh/bugreports.html\n"\ " 如你觉得这是 MPlayer 的问题,请阅读 DOCS/zh/bugreports.html\n"\
" 并遵循上面的步骤报告错误。除非你在报告一个可能的错误时候提供我们\n"\ " 并遵循其中的指示去做。除非你在报告一个潜在的缺陷时候提供我们\n"\
" 所需要的信息, 否则我们不能也不会帮助你。\n" " 所需要的信息否则我们不能也不会帮助你。\n"
#define MSGTR_LoadingConfig "正在装载配置文件 '%s'\n" #define MSGTR_LoadingConfig "正在加载配置 '%s'\n"
#define MSGTR_LoadingProtocolProfile "加载协议相关配置集‘%s\n" #define MSGTR_LoadingProtocolProfile "加载协议相关配置集‘%s\n"
#define MSGTR_LoadingExtensionProfile "加载扩展组件相关配置集‘%s\n" #define MSGTR_LoadingExtensionProfile "加载扩展组件相关配置集‘%s\n"
#define MSGTR_AddedSubtitleFile "字幕: 添加字幕文件 (%d): %s\n" #define MSGTR_AddedSubtitleFile "字幕:添加字幕文件(%d%s\n"
#define MSGTR_RemovedSubtitleFile "字幕: 删除字幕文件 (%d): %s\n" #define MSGTR_RemovedSubtitleFile "字幕:移除字幕文件(%d %s\n"
#define MSGTR_ErrorOpeningOutputFile "打开写入文件 [%s] 失败!\n" #define MSGTR_ErrorOpeningOutputFile "以写入方式打开文件 [%s] 失败!\n"
#define MSGTR_CommandLine "命令行: " #define MSGTR_CommandLine "命令行"
#define MSGTR_RTCDeviceNotOpenable "打开 %s 失败: %s (此文件应该能被用户读取。)\n" #define MSGTR_RTCDeviceNotOpenable "打开 %s 失败%s用户应当有权限读取该设备。\n"
#define MSGTR_LinuxRTCInitErrorIrqpSet "Linux RTC 初始化错误在 ioctl (rtc_irqp_set %lu): %s\n" #define MSGTR_LinuxRTCInitErrorIrqpSet "ioctl (rtc_irqp_set %lu) 中出现 Linux RTC 初始化错误:%s\n"
#define MSGTR_IncreaseRTCMaxUserFreq "添加 \"echo %lu > /proc/sys/dev/rtc/max-user-freq\" 到你的系统启动脚本。\n" #define MSGTR_IncreaseRTCMaxUserFreq "试添加 \"echo %lu > /proc/sys/dev/rtc/max-user-freq\" 到你的系统启动脚本。\n"
#define MSGTR_LinuxRTCInitErrorPieOn "Linux RTC 初始化错误在 ioctl (rtc_pie_on): %s\n" #define MSGTR_LinuxRTCInitErrorPieOn "ioctl (rtc_pie_on) 中出现 Linux RTC 初始化错误:%s\n"
#define MSGTR_UsingTimingType "正在使用 %s 计时。\n" #define MSGTR_UsingTimingType "正在使用 %s 计时。\n"
#define MSGTR_NoIdleAndGui "GMPLayer 不能使用选项 -idle。\n" #define MSGTR_NoIdleAndGui "GMPLayer 不能使用选项 -idle。\n"
#define MSGTR_MenuInitialized "菜单已初始化: %s\n" #define MSGTR_MenuInitialized "菜单已初始化%s\n"
#define MSGTR_MenuInitFailed "菜单初始化失败。\n" #define MSGTR_MenuInitFailed "菜单初始化失败。\n"
#define MSGTR_Getch2InitializedTwice "警告: getch2_init 被调用两次!\n" #define MSGTR_Getch2InitializedTwice "警告getch2_init 被两次调用!\n"
#define MSGTR_DumpstreamFdUnavailable "无法转储此流 - 没有可用的文件描述符。\n" #define MSGTR_DumpstreamFdUnavailable "无法导出该数据流 - 没有可用的文件描述符。\n"
#define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "不能用根菜单 %s 打开 libmenu 视频过滤器。\n" #define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "不能用根菜单 %s 打开 libmenu 视频过滤器。\n"
#define MSGTR_AudioFilterChainPreinitError "音频过滤器链预启动错误!\n" #define MSGTR_AudioFilterChainPreinitError "音频过滤器链预初始化错误!\n"
#define MSGTR_LinuxRTCReadError "Linux RTC 读取错误: %s\n" #define MSGTR_LinuxRTCReadError "Linux RTC 读取错误%s\n"
#define MSGTR_SoftsleepUnderflow "警告! Softsleep 向下溢出!\n" #define MSGTR_SoftsleepUnderflow "警告Softsleep 数值下溢!\n"
#define MSGTR_DvdnavNullEvent "DVDNAV 事件为空?!\n" #define MSGTR_DvdnavNullEvent "DVDNAV 事件为空\n"
#define MSGTR_DvdnavHighlightEventBroken "DVDNAV 事件: 高亮事件损坏\n" #define MSGTR_DvdnavHighlightEventBroken "DVDNAV 事件:重要事件损坏\n"
#define MSGTR_DvdnavEvent "DVDNAV 事件: %s\n" #define MSGTR_DvdnavEvent "DVDNAV 事件%s\n"
#define MSGTR_DvdnavHighlightHide "DVDNAV 事件: 高亮隐藏\n" #define MSGTR_DvdnavHighlightHide "DVDNAV 事件:重要事件隐藏\n"
#define MSGTR_DvdnavStillFrame "######################################## DVDNAV 事件: 静止帧: %d秒\n" #define MSGTR_DvdnavStillFrame "######################################## DVDNAV 事件:静止帧:%d 秒\n"
#define MSGTR_DvdnavNavStop "DVDNAV 事件: Nav停止\n" #define MSGTR_DvdnavNavStop "DVDNAV 事件Nav 停止\n"
#define MSGTR_DvdnavNavNOP "DVDNAV 事件: Nav无操作\n" #define MSGTR_DvdnavNavNOP "DVDNAV 事件Nav 无操作\n"
#define MSGTR_DvdnavNavSpuStreamChangeVerbose "DVDNAV 事件: Nav SPU 流改变: 物理: %d/%d/%d 逻辑: %d\n" #define MSGTR_DvdnavNavSpuStreamChangeVerbose "DVDNAV 事件Nav SPU 数据流切换:物理位置:%d/%d/%d 逻辑位置:%d\n"
#define MSGTR_DvdnavNavSpuStreamChange "DVDNAV 事件: Nav SPU 流改变: 物理: %d 逻辑: %d\n" #define MSGTR_DvdnavNavSpuStreamChange "DVDNAV 事件Nav SPU 数据流切换:物理位置:%d 逻辑位置:%d\n"
#define MSGTR_DvdnavNavAudioStreamChange "DVDNAV 事件: Nav 音频流改变: 物理: %d 逻辑: %d\n" #define MSGTR_DvdnavNavAudioStreamChange "DVDNAV 事件Nav 音频流切换:物理位置:%d 逻辑位置:%d\n"
#define MSGTR_DvdnavNavVTSChange "DVDNAV 事件: Nav VTS 改变\n" #define MSGTR_DvdnavNavVTSChange "DVDNAV 事件Nav VTS 切换\n"
#define MSGTR_DvdnavNavCellChange "DVDNAV 事件: Nav Cell 改变\n" #define MSGTR_DvdnavNavCellChange "DVDNAV 事件Nav Cell 切换\n"
#define MSGTR_DvdnavNavSpuClutChange "DVDNAV 事件: Nav SPU CLUT 改变\n" #define MSGTR_DvdnavNavSpuClutChange "DVDNAV 事件Nav SPU CLUT 切换\n"
#define MSGTR_DvdnavNavSeekDone "DVDNAV 事件: Nav 搜寻完成\n" #define MSGTR_DvdnavNavSeekDone "DVDNAV 事件Nav 定位完成\n"
#define MSGTR_MenuCall "菜单调用\n" #define MSGTR_MenuCall "菜单调用\n"
#define MSGTR_EdlOutOfMem "不能分配足够的内存来保持 EDL 数据。\n" #define MSGTR_EdlOutOfMem "不能分配足够的内存来保持 EDL 数据。\n"
@ -1290,6 +1290,12 @@ static char help_text[]=
#define MSGTR_INPUT_JOYSTICK_WarnLostSync "操纵杆: 警告初始事件, 失去了和驱动的同步。\n" #define MSGTR_INPUT_JOYSTICK_WarnLostSync "操纵杆: 警告初始事件, 失去了和驱动的同步。\n"
#define MSGTR_INPUT_JOYSTICK_WarnUnknownEvent "操作杆警告未知事件类型%d\n" #define MSGTR_INPUT_JOYSTICK_WarnUnknownEvent "操作杆警告未知事件类型%d\n"
// appleir.c
#define MSGTR_INPUT_APPLE_IR_Init "在设备 %s 上初始化 Apple IR\n"
#define MSGTR_INPUT_APPLE_IR_Detect "在设备 %s 上侦测到 Apple IR\n"
#define MSGTR_INPUT_APPLE_IR_CantOpen "无法打开 Apple IR 设备:%s\n"
// input.c // input.c
#define MSGTR_INPUT_INPUT_ErrCantRegister2ManyCmdFds "命令文件描述符太多, 不能注册文件描述符 %d。\n" #define MSGTR_INPUT_INPUT_ErrCantRegister2ManyCmdFds "命令文件描述符太多, 不能注册文件描述符 %d。\n"
@ -1700,6 +1706,7 @@ static char help_text[]=
#define MSGTR_LIBVO_MGA_IncompatibleDriverVersion "[MGA] 你的 mga_vid 驱动版本与 MPlayer 的版本不兼容!\n" #define MSGTR_LIBVO_MGA_IncompatibleDriverVersion "[MGA] 你的 mga_vid 驱动版本与 MPlayer 的版本不兼容!\n"
#define MSGTR_LIBVO_MGA_CouldntOpen "[MGA] 打不开: %s\n" #define MSGTR_LIBVO_MGA_CouldntOpen "[MGA] 打不开: %s\n"
#define MGSTR_LIBVO_MGA_ResolutionTooHigh "[MGA] 原分辨率至少有一维大于 1023x1023。请用软件或用 -lavdopts lowres=1 重新缩放\n" #define MGSTR_LIBVO_MGA_ResolutionTooHigh "[MGA] 原分辨率至少有一维大于 1023x1023。请用软件或用 -lavdopts lowres=1 重新缩放\n"
#define MGSTR_LIBVO_MGA_mgavidVersionMismatch "[MGA] mga_vid 驱动的版本号(%u与 MPlayer 编译时植入的不符(%u\n"
// libvo/vesa_lvo.c // libvo/vesa_lvo.c
@ -1948,6 +1955,7 @@ static char help_text[]=
"[VO_XV] DOCS/HTML/en/video.html#xv!\n"\ "[VO_XV] DOCS/HTML/en/video.html#xv!\n"\
"[VO_XV] 请参见 'mplayer -vo help' 找其它 (非-xv) 视频输出驱动。\n"\ "[VO_XV] 请参见 'mplayer -vo help' 找其它 (非-xv) 视频输出驱动。\n"\
"[VO_XV] 试试 -vo x11.\n" "[VO_XV] 试试 -vo x11.\n"
#define MSGTR_LIBVO_XV_Adaptor "[VO_XV] 使用 Xv 转换器 #%d%s\n"
// loader/ldt_keeper.c // loader/ldt_keeper.c
@ -2028,7 +2036,7 @@ static char help_text[]=
#define MSGTR_LIBASS_ErrorOpeningFont "[ass] 打开字体出错: %s, %d\n" #define MSGTR_LIBASS_ErrorOpeningFont "[ass] 打开字体出错: %s, %d\n"
// ass_fontconfig.c // ass_fontconfig.c
#define MSGTR_LIBASS_SelectedFontFamilyIsNotTheRequestedOne "[ass] fontconfig: 选中的字体家族不是要求的: '%s' != '%s'\n" #define MSGTR_LIBASS_SelectedFontFamilyIsNotTheRequestedOne "[ass] fontconfig:所选字体不是所要求使用的:'%s' != '%s'\n"
#define MSGTR_LIBASS_UsingDefaultFontFamily "[ass] fontconfig_select: 使用缺省字体家族: (%s, %d, %d) -> %s, %d\n" #define MSGTR_LIBASS_UsingDefaultFontFamily "[ass] fontconfig_select: 使用缺省字体家族: (%s, %d, %d) -> %s, %d\n"
#define MSGTR_LIBASS_UsingDefaultFont "[ass] fontconfig_select: 使用缺省字体: (%s, %d, %d) -> %s, %d\n" #define MSGTR_LIBASS_UsingDefaultFont "[ass] fontconfig_select: 使用缺省字体: (%s, %d, %d) -> %s, %d\n"
#define MSGTR_LIBASS_UsingArialFontFamily "[ass] fontconfig_select: 使用 'Arial' 字体家族: (%s, %d, %d) -> %s, %d\n" #define MSGTR_LIBASS_UsingArialFontFamily "[ass] fontconfig_select: 使用 'Arial' 字体家族: (%s, %d, %d) -> %s, %d\n"
@ -2059,7 +2067,7 @@ static char help_text[]=
#define MSGTR_LIBASS_EventHeightHasChanged "[ass] 警告! 事件高度(height) 已改变! \n" #define MSGTR_LIBASS_EventHeightHasChanged "[ass] 警告! 事件高度(height) 已改变! \n"
// ass_font.c // ass_font.c
#define MSGTR_LIBASS_GlyphNotFoundReselectingFont "[ass] 字形 0x%X 未找到, 重新选择字体 (%s, %d, %d)\n" #define MSGTR_LIBASS_GlyphNotFoundReselectingFont "[ass] 字形 0x%X 未找到,为 (%s, %d, %d) 选择另一种字体\n"
#define MSGTR_LIBASS_GlyphNotFound "[ass] 字形 0x%X 未在字体中找到 (%s, %d, %d)\n" #define MSGTR_LIBASS_GlyphNotFound "[ass] 字形 0x%X 未在字体中找到 (%s, %d, %d)\n"
#define MSGTR_LIBASS_ErrorOpeningMemoryFont "[ass] 打开内存字体出错: %s\n" #define MSGTR_LIBASS_ErrorOpeningMemoryFont "[ass] 打开内存字体出错: %s\n"
#define MSGTR_LIBASS_NoCharmaps "[ass] 字体缺少字符映射表\n" #define MSGTR_LIBASS_NoCharmaps "[ass] 字体缺少字符映射表\n"

View File

@ -162,7 +162,6 @@ static char help_text[]=
#define MSGTR_MenuInitFailed "菜單初始化失敗。\n" #define MSGTR_MenuInitFailed "菜單初始化失敗。\n"
#define MSGTR_Getch2InitializedTwice "警告: getch2_init 被調用兩次!\n" #define MSGTR_Getch2InitializedTwice "警告: getch2_init 被調用兩次!\n"
#define MSGTR_DumpstreamFdUnavailable "無法轉儲此流 - 没有可用的文件描述符。\n" #define MSGTR_DumpstreamFdUnavailable "無法轉儲此流 - 没有可用的文件描述符。\n"
#define MSGTR_FallingBackOnPlaylist "回退到試着解析播放列表 %s...\n"
#define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "不能用根菜單 %s 打開 libmenu 視頻過濾器。\n" #define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "不能用根菜單 %s 打開 libmenu 視頻過濾器。\n"
#define MSGTR_AudioFilterChainPreinitError "音頻過濾器鏈預啟動錯誤!\n" #define MSGTR_AudioFilterChainPreinitError "音頻過濾器鏈預啟動錯誤!\n"
#define MSGTR_LinuxRTCReadError "Linux RTC 讀取錯誤: %s\n" #define MSGTR_LinuxRTCReadError "Linux RTC 讀取錯誤: %s\n"
@ -522,7 +521,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "打不開局域網内的: '%s'\n" #define MSGTR_SMBFileNotFound "打不開局域網内的: '%s'\n"
#define MSGTR_SMBNotCompiled "MPlayer 没有編譯成支持 SMB 的讀取。\n" #define MSGTR_SMBNotCompiled "MPlayer 没有編譯成支持 SMB 的讀取。\n"
#define MSGTR_CantOpenDVD "打不開 DVD 設備: %s\n" #define MSGTR_CantOpenDVD "打不開 DVD 設備: %s (%s)\n"
// stream_dvd.c // stream_dvd.c
#define MSGTR_DVDspeedCantOpen "不能以寫方式打開DVD設備, 改變DVD速度需要寫方式。\n" #define MSGTR_DVDspeedCantOpen "不能以寫方式打開DVD設備, 改變DVD速度需要寫方式。\n"
@ -1189,8 +1188,6 @@ static char help_text[]=
"[AO_ALSA] device=<device-name>\n"\ "[AO_ALSA] device=<device-name>\n"\
"[AO_ALSA] 設置設備 (change , to . and : to =)\n" "[AO_ALSA] 設置設備 (change , to . and : to =)\n"
#define MSGTR_AO_ALSA_ChannelsNotSupported "[AO_ALSA] %d 聲道不被支持。\n" #define MSGTR_AO_ALSA_ChannelsNotSupported "[AO_ALSA] %d 聲道不被支持。\n"
#define MSGTR_AO_ALSA_CannotReadAlsaConfiguration "[AO_ALSA] 不能讀取 ALSA 配置: %s\n"
#define MSGTR_AO_ALSA_CannotCopyConfiguration "[AO_ALSA] 不能拷貝配置: %s\n"
#define MSGTR_AO_ALSA_OpenInNonblockModeFailed "[AO_ALSA] 打開 nonblock-模式 失敗, 試着打開 block-模式。\n" #define MSGTR_AO_ALSA_OpenInNonblockModeFailed "[AO_ALSA] 打開 nonblock-模式 失敗, 試着打開 block-模式。\n"
#define MSGTR_AO_ALSA_PlaybackOpenError "[AO_ALSA] 回放打開錯誤: %s\n" #define MSGTR_AO_ALSA_PlaybackOpenError "[AO_ALSA] 回放打開錯誤: %s\n"
#define MSGTR_AO_ALSA_ErrorSetBlockMode "[AL_ALSA] 錯誤設置 block-模式 %s。\n" #define MSGTR_AO_ALSA_ErrorSetBlockMode "[AL_ALSA] 錯誤設置 block-模式 %s。\n"
@ -1955,7 +1952,6 @@ static char help_text[]=
#define MSGTR_RADIO_CaptureStarting "[radio] 開始捕獲。\n" #define MSGTR_RADIO_CaptureStarting "[radio] 開始捕獲。\n"
#define MSGTR_RADIO_ClearBufferFailed "[radio] 清空緩衝失敗: %s\n" #define MSGTR_RADIO_ClearBufferFailed "[radio] 清空緩衝失敗: %s\n"
#define MSGTR_RADIO_StreamEnableCacheFailed "[radio] 調用 stream_enable_cache 失敗: %s\n" #define MSGTR_RADIO_StreamEnableCacheFailed "[radio] 調用 stream_enable_cache 失敗: %s\n"
#define MSGTR_RADIO_DriverUnknownId "[radio] 未知驅動號: %d\n"
#define MSGTR_RADIO_DriverUnknownStr "[radio] 未知驅動名: %s\n" #define MSGTR_RADIO_DriverUnknownStr "[radio] 未知驅動名: %s\n"
#define MSGTR_RADIO_DriverV4L2 "[radio] 使用 V4Lv2 廣播接口。\n" #define MSGTR_RADIO_DriverV4L2 "[radio] 使用 V4Lv2 廣播接口。\n"
#define MSGTR_RADIO_DriverV4L "[radio] 使用 V4Lv1 廣播接口。\n" #define MSGTR_RADIO_DriverV4L "[radio] 使用 V4Lv1 廣播接口。\n"
@ -2018,7 +2014,6 @@ static char help_text[]=
#define MSGTR_LIBASS_EmptyEvent "[ass] 空事件!\n" #define MSGTR_LIBASS_EmptyEvent "[ass] 空事件!\n"
#define MSGTR_LIBASS_MAX_GLYPHS_Reached "[ass] 達到了字形最大值: 事件 %d, 開始 = %llu, 時長 = %llu\n 文本 = %s\n" #define MSGTR_LIBASS_MAX_GLYPHS_Reached "[ass] 達到了字形最大值: 事件 %d, 開始 = %llu, 時長 = %llu\n 文本 = %s\n"
#define MSGTR_LIBASS_EventHeightHasChanged "[ass] 警告! 事件高度(height) 已改變! \n" #define MSGTR_LIBASS_EventHeightHasChanged "[ass] 警告! 事件高度(height) 已改變! \n"
#define MSGTR_LIBASS_TooManySimultaneousEvents "[ass] 過多同時的事件!\n"
// ass_font.c // ass_font.c
#define MSGTR_LIBASS_GlyphNotFoundReselectingFont "[ass] 字形 0x%X 未找到, 重新選擇字體 (%s, %d, %d)\n" #define MSGTR_LIBASS_GlyphNotFoundReselectingFont "[ass] 字形 0x%X 未找到, 重新選擇字體 (%s, %d, %d)\n"

152
input/appleir.c Normal file
View File

@ -0,0 +1,152 @@
/*
* Linux Apple IR Remote input interface
*
* Copyright (C) 2008 Benjamin Zores <ben at geexbox dot org>
*
* This file is part of MPlayer.
*
* MPlayer is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* MPlayer is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with MPlayer; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "config.h"
#include "ar.h"
#include "input.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <linux/types.h>
#include <linux/input.h>
#include "mp_msg.h"
#include "help_mp.h"
#define EVDEV_MAX_EVENTS 32
/* ripped from AppleIR driver */
#define USB_VENDOR_APPLE 0x05ac
#define USB_DEV_APPLE_IR 0x8240
#define USB_DEV_APPLE_IR_2 0x8242
/* Apple IR Remote evdev mapping */
#define APPLE_IR_MINUS KEY_VOLUMEDOWN
#define APPLE_IR_PLUS KEY_VOLUMEUP
#define APPLE_IR_MENU KEY_MENU
#define APPLE_IR_FORWARD KEY_NEXTSONG
#define APPLE_IR_PLAY KEY_PLAYPAUSE
#define APPLE_IR_BACKWARD KEY_PREVIOUSSONG
static const struct {
int linux_keycode;
int value;
int mp_keycode;
} apple_ir_mapping[] = {
{ APPLE_IR_PLAY, 1, AR_PLAY },
{ APPLE_IR_PLAY, 2, AR_PLAY_HOLD },
{ APPLE_IR_FORWARD, 1, AR_NEXT },
{ APPLE_IR_FORWARD, 2, AR_NEXT_HOLD },
{ APPLE_IR_BACKWARD, 1, AR_PREV },
{ APPLE_IR_BACKWARD, 2, AR_PREV_HOLD },
{ APPLE_IR_MENU, 1, AR_MENU },
{ APPLE_IR_MENU, 2, AR_MENU_HOLD },
{ APPLE_IR_PLUS, 1, AR_VUP },
{ APPLE_IR_MINUS, 1, AR_VDOWN },
{ -1, -1, -1 }
};
int mp_input_appleir_init (char *dev)
{
int i, fd;
if (dev)
{
mp_msg (MSGT_INPUT, MSGL_V, MSGTR_INPUT_APPLE_IR_Init, dev);
fd = open (dev, O_RDONLY | O_NONBLOCK);
if (fd < 0)
{
mp_msg (MSGT_INPUT, MSGL_ERR,
MSGTR_INPUT_APPLE_IR_CantOpen, strerror (errno));
return -1;
}
return fd;
}
else
{
/* look for a valid AppleIR device on system */
for (i = 0; i < EVDEV_MAX_EVENTS; i++)
{
struct input_id id;
char file[64];
sprintf (file, "/dev/input/event%d", i);
fd = open (file, O_RDONLY | O_NONBLOCK);
if (fd < 0)
continue;
ioctl (fd, EVIOCGID, &id);
if (id.bustype == BUS_USB &&
id.vendor == USB_VENDOR_APPLE &&
(id.product == USB_DEV_APPLE_IR ||id.product == USB_DEV_APPLE_IR_2))
{
mp_msg (MSGT_INPUT, MSGL_V, MSGTR_INPUT_APPLE_IR_Detect, file);
return fd;
}
close (fd);
}
mp_msg (MSGT_INPUT, MSGL_ERR,
MSGTR_INPUT_APPLE_IR_CantOpen, strerror (errno));
}
return -1;
}
int mp_input_appleir_read(void *ctx, int fd)
{
struct input_event ev;
int i, r;
r = read (fd, &ev, sizeof (struct input_event));
if (r <= 0 || r < sizeof (struct input_event))
return MP_INPUT_NOTHING;
/* check for key press only */
if (ev.type != EV_KEY)
return MP_INPUT_NOTHING;
/* EvDev Key values:
* 0: key release
* 1: key press
* 2: key auto-repeat
*/
if (ev.value == 0)
return MP_INPUT_NOTHING;
/* find Linux evdev -> MPlayer keycode mapping */
for (i = 0; apple_ir_mapping[i].linux_keycode != -1; i++)
if (apple_ir_mapping[i].linux_keycode == ev.code &&
apple_ir_mapping[i].value == ev.value)
return apple_ir_mapping[i].mp_keycode;
return MP_INPUT_NOTHING;
}

View File

@ -35,8 +35,13 @@
#define AR_VUP (AR_BASE + 8) #define AR_VUP (AR_BASE + 8)
#define AR_VDOWN (AR_BASE + 9) #define AR_VDOWN (AR_BASE + 9)
/* MacOSX Driver */
int mp_input_ar_init(void); int mp_input_ar_init(void);
int mp_input_ar_read(void *ctx, int fd); int mp_input_ar_read(void *ctx, int fd);
void mp_input_ar_close(int fd); void mp_input_ar_close(int fd);
/* Linux Driver */
int mp_input_appleir_init(char* dev);
int mp_input_appleir_read(void *ctx, int fd);
#endif /* MPLAYER_AR_H */ #endif /* MPLAYER_AR_H */

View File

@ -75,6 +75,7 @@ static const mp_cmd_t mp_cmds[] = {
{ MP_CMD_SPEED_MULT, "speed_mult", 1, { {MP_CMD_ARG_FLOAT,{0}}, {-1,{0}} } }, { MP_CMD_SPEED_MULT, "speed_mult", 1, { {MP_CMD_ARG_FLOAT,{0}}, {-1,{0}} } },
{ MP_CMD_SPEED_SET, "speed_set", 1, { {MP_CMD_ARG_FLOAT,{0}}, {-1,{0}} } }, { MP_CMD_SPEED_SET, "speed_set", 1, { {MP_CMD_ARG_FLOAT,{0}}, {-1,{0}} } },
{ MP_CMD_QUIT, "quit", 0, { {MP_CMD_ARG_INT,{0}}, {-1,{0}} } }, { MP_CMD_QUIT, "quit", 0, { {MP_CMD_ARG_INT,{0}}, {-1,{0}} } },
{ MP_CMD_STOP, "stop", 0, { {-1,{0}} } },
{ MP_CMD_PAUSE, "pause", 0, { {-1,{0}} } }, { MP_CMD_PAUSE, "pause", 0, { {-1,{0}} } },
{ MP_CMD_FRAME_STEP, "frame_step", 0, { {-1,{0}} } }, { MP_CMD_FRAME_STEP, "frame_step", 0, { {-1,{0}} } },
{ MP_CMD_PLAY_TREE_STEP, "pt_step",1, { { MP_CMD_ARG_INT ,{0}}, { MP_CMD_ARG_INT ,{0}}, {-1,{0}} } }, { MP_CMD_PLAY_TREE_STEP, "pt_step",1, { { MP_CMD_ARG_INT ,{0}}, { MP_CMD_ARG_INT ,{0}}, {-1,{0}} } },
@ -484,6 +485,7 @@ static const mp_cmd_bind_t def_cmd_binds[] = {
{ { '!', 0 }, "seek_chapter -1" }, { { '!', 0 }, "seek_chapter -1" },
{ { '@', 0 }, "seek_chapter 1" }, { { '@', 0 }, "seek_chapter 1" },
{ { 'A', 0 }, "switch_angle 1" }, { { 'A', 0 }, "switch_angle 1" },
{ { 'U', 0 }, "stop" },
{ { 0 }, NULL } { { 0 }, NULL }
}; };
@ -599,6 +601,7 @@ static const m_option_t input_conf[] = {
{ "keylist", print_key_list, CONF_TYPE_FUNC, CONF_GLOBAL, 0, 0, NULL }, { "keylist", print_key_list, CONF_TYPE_FUNC, CONF_GLOBAL, 0, 0, NULL },
{ "cmdlist", print_cmd_list, CONF_TYPE_FUNC, CONF_GLOBAL, 0, 0, NULL }, { "cmdlist", print_cmd_list, CONF_TYPE_FUNC, CONF_GLOBAL, 0, 0, NULL },
OPT_STRING("js-dev", input.js_dev, CONF_GLOBAL), OPT_STRING("js-dev", input.js_dev, CONF_GLOBAL),
OPT_STRING("ar-dev", input.ar_dev, CONF_GLOBAL),
OPT_STRING("file", input.in_file, CONF_GLOBAL), OPT_STRING("file", input.in_file, CONF_GLOBAL),
{ NULL, NULL, 0, 0, 0, 0, NULL} { NULL, NULL, 0, 0, 0, 0, NULL}
}; };
@ -1741,6 +1744,17 @@ struct input_ctx *mp_input_init(struct input_conf *input_conf, int use_gui)
} }
#endif #endif
#ifdef HAVE_APPLE_IR
if (input_conf->use_ar) {
int fd = mp_input_appleir_init(input_conf->ar_dev);
if(fd < 0)
mp_msg(MSGT_INPUT,MSGL_ERR,MSGTR_INPUT_INPUT_ErrCantInitAppleRemote);
else
mp_input_add_key_fd(ictx, fd, 1, mp_input_appleir_read,
(mp_close_func_t)close, NULL);
}
#endif
if (input_conf->in_file) { if (input_conf->in_file) {
struct stat st; struct stat st;
if (stat(input_conf->in_file, &st)) if (stat(input_conf->in_file, &st))

View File

@ -109,6 +109,7 @@
#define MP_CMD_SWITCH_ANGLE 105 #define MP_CMD_SWITCH_ANGLE 105
#define MP_CMD_ASS_USE_MARGINS 106 #define MP_CMD_ASS_USE_MARGINS 106
#define MP_CMD_SWITCH_TITLE 107 #define MP_CMD_SWITCH_TITLE 107
#define MP_CMD_STOP 108
#define MP_CMD_GUI_EVENTS 5000 #define MP_CMD_GUI_EVENTS 5000
#define MP_CMD_GUI_LOADFILE 5001 #define MP_CMD_GUI_LOADFILE 5001

View File

@ -120,9 +120,9 @@ int mp_input_joystick_read(void *ctx, int fd) {
btns &= ~(1 << ev.number); btns &= ~(1 << ev.number);
btns |= (ev.value << ev.number); btns |= (ev.value << ev.number);
if(ev.value == 1) if(ev.value == 1)
return ((JOY_BTN0+ev.number) | MP_KEY_DOWN); return (JOY_BTN0 + ev.number) | MP_KEY_DOWN;
else else
return (JOY_BTN0+ev.number); return JOY_BTN0 + ev.number;
} else if(ev.type & JS_EVENT_AXIS) { } else if(ev.type & JS_EVENT_AXIS) {
if(ev.value < -JOY_AXIS_DELTA && axis[ev.number] != -1) { if(ev.value < -JOY_AXIS_DELTA && axis[ev.number] != -1) {
axis[ev.number] = -1; axis[ev.number] = -1;

View File

@ -382,10 +382,10 @@ void imdct_do_512 (sample_t * data, sample_t * delay, sample_t bias)
#define WORD_s2 0x18,0x19,0x1a,0x1b #define WORD_s2 0x18,0x19,0x1a,0x1b
#define WORD_s3 0x1c,0x1d,0x1e,0x1f #define WORD_s3 0x1c,0x1d,0x1e,0x1f
#ifdef __APPLE_CC__ #ifdef HAVE_ALTIVEC_VECTOR_BRACES
#define AVV(x...) (x)
#else
#define AVV(x...) {x} #define AVV(x...) {x}
#else
#define AVV(x...) (x)
#endif #endif
#define vcprm(a,b,c,d) (const vector unsigned char)AVV(WORD_ ## a, WORD_ ## b, WORD_ ## c, WORD_ ## d) #define vcprm(a,b,c,d) (const vector unsigned char)AVV(WORD_ ## a, WORD_ ## b, WORD_ ## c, WORD_ ## d)

View File

@ -1563,10 +1563,10 @@
+#define WORD_s2 0x18,0x19,0x1a,0x1b +#define WORD_s2 0x18,0x19,0x1a,0x1b
+#define WORD_s3 0x1c,0x1d,0x1e,0x1f +#define WORD_s3 0x1c,0x1d,0x1e,0x1f
+ +
+#ifdef __APPLE_CC__ +#ifdef HAVE_ALTIVEC_VECTOR_BRACES
+#define AVV(x...) (x)
+#else
+#define AVV(x...) {x} +#define AVV(x...) {x}
+#else
+#define AVV(x...) (x)
+#endif +#endif
+ +
+#define vcprm(a,b,c,d) (const vector unsigned char)AVV(WORD_ ## a, WORD_ ## b, WORD_ ## c, WORD_ ## d) +#define vcprm(a,b,c,d) (const vector unsigned char)AVV(WORD_ ## a, WORD_ ## b, WORD_ ## c, WORD_ ## d)

View File

@ -157,7 +157,7 @@ static FLOAT_TYPE besselizero(FLOAT_TYPE x)
sum += u; sum += u;
n++; n++;
} while (u >= BIZ_EPSILON * sum); } while (u >= BIZ_EPSILON * sum);
return(sum); return sum;
} }
/* /*

View File

@ -232,7 +232,7 @@ static int control(int cmd, void *arg)
} }
} //end switch } //end switch
return(CONTROL_UNKNOWN); return CONTROL_UNKNOWN;
} }
static void parse_device (char *dest, const char *src, int len) static void parse_device (char *dest, const char *src, int len)
@ -498,11 +498,11 @@ static int init(int rate_hz, int channels, int format, int flags)
mp_msg(MSGT_AO,MSGL_INFO,MSGTR_AO_ALSA_OpenInNonblockModeFailed); mp_msg(MSGT_AO,MSGL_INFO,MSGTR_AO_ALSA_OpenInNonblockModeFailed);
if ((err = try_open_device(alsa_device, 0, format == AF_FORMAT_AC3)) < 0) { if ((err = try_open_device(alsa_device, 0, format == AF_FORMAT_AC3)) < 0) {
mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_PlaybackOpenError, snd_strerror(err)); mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_PlaybackOpenError, snd_strerror(err));
return(0); return 0;
} }
} else { } else {
mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_PlaybackOpenError, snd_strerror(err)); mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_PlaybackOpenError, snd_strerror(err));
return(0); return 0;
} }
} }
@ -520,7 +520,7 @@ static int init(int rate_hz, int channels, int format, int flags)
{ {
mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToGetInitialParameters, mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToGetInitialParameters,
snd_strerror(err)); snd_strerror(err));
return(0); return 0;
} }
err = snd_pcm_hw_params_set_access(alsa_handler, alsa_hwparams, err = snd_pcm_hw_params_set_access(alsa_handler, alsa_hwparams,
@ -528,7 +528,7 @@ static int init(int rate_hz, int channels, int format, int flags)
if (err < 0) { if (err < 0) {
mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetAccessType, mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetAccessType,
snd_strerror(err)); snd_strerror(err));
return (0); return 0;
} }
/* workaround for nonsupported formats /* workaround for nonsupported formats
@ -547,7 +547,7 @@ static int init(int rate_hz, int channels, int format, int flags)
{ {
mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetFormat, mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetFormat,
snd_strerror(err)); snd_strerror(err));
return(0); return 0;
} }
if ((err = snd_pcm_hw_params_set_channels_near(alsa_handler, alsa_hwparams, if ((err = snd_pcm_hw_params_set_channels_near(alsa_handler, alsa_hwparams,
@ -555,7 +555,7 @@ static int init(int rate_hz, int channels, int format, int flags)
{ {
mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetChannels, mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetChannels,
snd_strerror(err)); snd_strerror(err));
return(0); return 0;
} }
/* workaround for buggy rate plugin (should be fixed in ALSA 1.0.11) /* workaround for buggy rate plugin (should be fixed in ALSA 1.0.11)
@ -566,7 +566,7 @@ static int init(int rate_hz, int channels, int format, int flags)
{ {
mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToDisableResampling, mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToDisableResampling,
snd_strerror(err)); snd_strerror(err));
return(0); return 0;
} }
#endif #endif
@ -575,7 +575,7 @@ static int init(int rate_hz, int channels, int format, int flags)
{ {
mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetSamplerate2, mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetSamplerate2,
snd_strerror(err)); snd_strerror(err));
return(0); return 0;
} }
bytes_per_sample = snd_pcm_format_physical_width(alsa_format) / 8; bytes_per_sample = snd_pcm_format_physical_width(alsa_format) / 8;
@ -592,7 +592,7 @@ static int init(int rate_hz, int channels, int format, int flags)
{ {
mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetBufferTimeNear, mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetBufferTimeNear,
snd_strerror(err)); snd_strerror(err));
return(0); return 0;
} else } else
alsa_buffer_time = err; alsa_buffer_time = err;
@ -711,7 +711,7 @@ static int init(int rate_hz, int channels, int format, int flags)
} // end switch alsa_handler (spdif) } // end switch alsa_handler (spdif)
alsa_can_pause = snd_pcm_hw_params_can_pause(alsa_hwparams); alsa_can_pause = snd_pcm_hw_params_can_pause(alsa_hwparams);
return(1); return 1;
} // end init } // end init
@ -837,7 +837,7 @@ static int play(void* data, int len, int flags)
mp_msg(MSGT_AO,MSGL_INFO,MSGTR_AO_ALSA_TryingToResetSoundcard); mp_msg(MSGT_AO,MSGL_INFO,MSGTR_AO_ALSA_TryingToResetSoundcard);
if ((res = snd_pcm_prepare(alsa_handler)) < 0) { if ((res = snd_pcm_prepare(alsa_handler)) < 0) {
mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_PcmPrepareError, snd_strerror(res)); mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_PcmPrepareError, snd_strerror(res));
return(0); return 0;
break; break;
} }
} }
@ -857,13 +857,13 @@ static int get_space(void)
if ((ret = snd_pcm_status(alsa_handler, status)) < 0) if ((ret = snd_pcm_status(alsa_handler, status)) < 0)
{ {
mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_CannotGetPcmStatus, snd_strerror(ret)); mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_CannotGetPcmStatus, snd_strerror(ret));
return(0); return 0;
} }
ret = snd_pcm_status_get_avail(status) * bytes_per_sample; ret = snd_pcm_status_get_avail(status) * bytes_per_sample;
if (ret > ao_data.buffersize) // Buffer underrun? if (ret > ao_data.buffersize) // Buffer underrun?
ret = ao_data.buffersize; ret = ao_data.buffersize;
return(ret); return ret;
} }
/* delay in seconds between first and last sample in buffer */ /* delay in seconds between first and last sample in buffer */
@ -884,6 +884,6 @@ static float get_delay(void)
} }
return (float)delay / (float)ao_data.samplerate; return (float)delay / (float)ao_data.samplerate;
} else { } else {
return(0); return 0;
} }
} }

View File

@ -35,7 +35,7 @@ static int alsa_rate = SND_PCM_RATE_CONTINUOUS;
/* to set/get/query special features/parameters */ /* to set/get/query special features/parameters */
static int control(int cmd, void *arg) static int control(int cmd, void *arg)
{ {
return(CONTROL_UNKNOWN); return CONTROL_UNKNOWN;
} }
/* /*
@ -62,7 +62,7 @@ static int init(int rate_hz, int channels, int format, int flags)
if ((cards = snd_cards()) < 0) if ((cards = snd_cards()) < 0)
{ {
mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_SoundCardNotFound); mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_SoundCardNotFound);
return(0); return 0;
} }
ao_data.format = format; ao_data.format = format;
@ -112,7 +112,7 @@ static int init(int rate_hz, int channels, int format, int flags)
break; break;
case -1: case -1:
mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_InvalidFormatReq,af_fmt2str_short(format)); mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_InvalidFormatReq,af_fmt2str_short(format));
return(0); return 0;
default: default:
break; break;
} }
@ -164,13 +164,13 @@ static int init(int rate_hz, int channels, int format, int flags)
if ((err = snd_pcm_open(&alsa_handler, 0, 0, SND_PCM_OPEN_PLAYBACK)) < 0) if ((err = snd_pcm_open(&alsa_handler, 0, 0, SND_PCM_OPEN_PLAYBACK)) < 0)
{ {
mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_PlayBackError, snd_strerror(err)); mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_PlayBackError, snd_strerror(err));
return(0); return 0;
} }
if ((err = snd_pcm_info(alsa_handler, &info)) < 0) if ((err = snd_pcm_info(alsa_handler, &info)) < 0)
{ {
mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_PcmInfoError, snd_strerror(err)); mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_PcmInfoError, snd_strerror(err));
return(0); return 0;
} }
mp_msg(MSGT_AO, MSGL_INFO, MSGTR_AO_ALSA5_SoundcardsFound, mp_msg(MSGT_AO, MSGL_INFO, MSGTR_AO_ALSA5_SoundcardsFound,
@ -183,7 +183,7 @@ static int init(int rate_hz, int channels, int format, int flags)
if ((err = snd_pcm_channel_info(alsa_handler, &chninfo)) < 0) if ((err = snd_pcm_channel_info(alsa_handler, &chninfo)) < 0)
{ {
mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_PcmChanInfoError, snd_strerror(err)); mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_PcmChanInfoError, snd_strerror(err));
return(0); return 0;
} }
#ifndef __QNX__ #ifndef __QNX__
@ -207,7 +207,7 @@ static int init(int rate_hz, int channels, int format, int flags)
if ((err = snd_pcm_channel_params(alsa_handler, &params)) < 0) if ((err = snd_pcm_channel_params(alsa_handler, &params)) < 0)
{ {
mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_CantSetParms, snd_strerror(err)); mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_CantSetParms, snd_strerror(err));
return(0); return 0;
} }
memset(&setup, 0, sizeof(setup)); memset(&setup, 0, sizeof(setup));
@ -220,19 +220,19 @@ static int init(int rate_hz, int channels, int format, int flags)
if ((err = snd_pcm_channel_setup(alsa_handler, &setup)) < 0) if ((err = snd_pcm_channel_setup(alsa_handler, &setup)) < 0)
{ {
mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_CantSetChan, snd_strerror(err)); mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_CantSetChan, snd_strerror(err));
return(0); return 0;
} }
if ((err = snd_pcm_channel_prepare(alsa_handler, SND_PCM_CHANNEL_PLAYBACK)) < 0) if ((err = snd_pcm_channel_prepare(alsa_handler, SND_PCM_CHANNEL_PLAYBACK)) < 0)
{ {
mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_ChanPrepareError, snd_strerror(err)); mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_ChanPrepareError, snd_strerror(err));
return(0); return 0;
} }
mp_msg(MSGT_AO, MSGL_INFO, "AUDIO: %d Hz/%d channels/%d bps/%d bytes buffer/%s\n", mp_msg(MSGT_AO, MSGL_INFO, "AUDIO: %d Hz/%d channels/%d bps/%d bytes buffer/%s\n",
ao_data.samplerate, ao_data.channels, ao_data.bps, ao_data.buffersize, ao_data.samplerate, ao_data.channels, ao_data.bps, ao_data.buffersize,
snd_pcm_get_format_name(alsa_format.format)); snd_pcm_get_format_name(alsa_format.format));
return(1); return 1;
} }
/* close audio device */ /* close audio device */
@ -321,7 +321,7 @@ static int play(void* data, int len, int flags)
int got_len; int got_len;
if (!len) if (!len)
return(0); return 0;
if ((got_len = snd_pcm_write(alsa_handler, data, len)) < 0) if ((got_len = snd_pcm_write(alsa_handler, data, len)) < 0)
{ {
@ -331,20 +331,20 @@ static int play(void* data, int len, int flags)
if ((got_len = snd_pcm_channel_prepare(alsa_handler, SND_PCM_CHANNEL_PLAYBACK)) < 0) if ((got_len = snd_pcm_channel_prepare(alsa_handler, SND_PCM_CHANNEL_PLAYBACK)) < 0)
{ {
mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_PlaybackPrepareError, snd_strerror(got_len)); mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_PlaybackPrepareError, snd_strerror(got_len));
return(0); return 0;
} }
if ((got_len = snd_pcm_write(alsa_handler, data, len)) < 0) if ((got_len = snd_pcm_write(alsa_handler, data, len)) < 0)
{ {
mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_WriteErrorAfterReset, mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_WriteErrorAfterReset,
snd_strerror(got_len)); snd_strerror(got_len));
return(0); return 0;
} }
return(got_len); /* 2nd write was ok */ return got_len; /* 2nd write was ok */
} }
mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_OutPutError, snd_strerror(got_len)); mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_OutPutError, snd_strerror(got_len));
return(0); return 0;
} }
return(got_len); return got_len;
} }
/* how many byes are free in the buffer */ /* how many byes are free in the buffer */
@ -355,9 +355,9 @@ static int get_space(void)
ch_stat.channel = SND_PCM_CHANNEL_PLAYBACK; ch_stat.channel = SND_PCM_CHANNEL_PLAYBACK;
if (snd_pcm_channel_status(alsa_handler, &ch_stat) < 0) if (snd_pcm_channel_status(alsa_handler, &ch_stat) < 0)
return(0); /* error occurred */ return 0; /* error occurred */
else else
return(ch_stat.free); return ch_stat.free;
} }
/* delay in seconds between first and last sample in buffer */ /* delay in seconds between first and last sample in buffer */
@ -368,7 +368,7 @@ static float get_delay(void)
ch_stat.channel = SND_PCM_CHANNEL_PLAYBACK; ch_stat.channel = SND_PCM_CHANNEL_PLAYBACK;
if (snd_pcm_channel_status(alsa_handler, &ch_stat) < 0) if (snd_pcm_channel_status(alsa_handler, &ch_stat) < 0)
return((float)ao_data.buffersize/(float)ao_data.bps); /* error occurred */ return (float)ao_data.buffersize/(float)ao_data.bps; /* error occurred */
else else
return((float)ch_stat.count/(float)ao_data.bps); return (float)ch_stat.count/(float)ao_data.bps;
} }

View File

@ -37,7 +37,7 @@ LIBAO_EXTERN(arts)
static int control(int cmd, void *arg) static int control(int cmd, void *arg)
{ {
return(CONTROL_UNKNOWN); return CONTROL_UNKNOWN;
} }
static int init(int rate_hz, int channels, int format, int flags) static int init(int rate_hz, int channels, int format, int flags)

View File

@ -231,7 +231,7 @@ void callback(void *userdata, Uint8 *stream, int len); userdata is the pointer s
/* Open the audio device and start playing sound! */ /* Open the audio device and start playing sound! */
if(SDL_OpenAudio(&aspec, &obtained) < 0) { if(SDL_OpenAudio(&aspec, &obtained) < 0) {
mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_SDL_CantOpenAudio, SDL_GetError()); mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_SDL_CantOpenAudio, SDL_GetError());
return(0); return 0;
} }
/* did we got what we wanted ? */ /* did we got what we wanted ? */

View File

@ -163,7 +163,7 @@ static void rskip_spaces(char** str, char* limit) {
static int lookup_style(ass_track_t* track, char* name) { static int lookup_style(ass_track_t* track, char* name) {
int i; int i;
if (*name == '*') ++name; // FIXME: what does '*' really mean ? if (*name == '*') ++name; // FIXME: what does '*' really mean ?
for (i=0; i<track->n_styles; ++i) { for (i = track->n_styles - 1; i >= 0; --i) {
// FIXME: mb strcasecmp ? // FIXME: mb strcasecmp ?
if (strcmp(track->styles[i].Name, name) == 0) if (strcmp(track->styles[i].Name, name) == 0)
return i; return i;
@ -846,16 +846,22 @@ static char* sub_recode(char* data, size_t size, char* codepage)
char* ip; char* ip;
char* op; char* op;
size_t rc; size_t rc;
int clear = 0;
outbuf = malloc(size); outbuf = malloc(osize);
ip = data; ip = data;
op = outbuf; op = outbuf;
while (ileft) { while (1) {
rc = iconv(icdsc, &ip, &ileft, &op, &oleft); if (ileft)
rc = iconv(icdsc, &ip, &ileft, &op, &oleft);
else {// clear the conversion state and leave
clear = 1;
rc = iconv(icdsc, NULL, NULL, &op, &oleft);
}
if (rc == (size_t)(-1)) { if (rc == (size_t)(-1)) {
if (errno == E2BIG) { if (errno == E2BIG) {
int offset = op - outbuf; size_t offset = op - outbuf;
outbuf = (char*)realloc(outbuf, osize + size); outbuf = (char*)realloc(outbuf, osize + size);
op = outbuf + offset; op = outbuf + offset;
osize += size; osize += size;
@ -864,7 +870,9 @@ static char* sub_recode(char* data, size_t size, char* codepage)
mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_ErrorRecodingFile); mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_ErrorRecodingFile);
return NULL; return NULL;
} }
} } else
if (clear)
break;
} }
outbuf[osize - oleft - 1] = 0; outbuf[osize - oleft - 1] = 0;
} }

View File

@ -86,7 +86,7 @@ static unsigned hashmap_hash(void* buf, size_t len)
static int hashmap_key_compare(void* a, void* b, size_t size) static int hashmap_key_compare(void* a, void* b, size_t size)
{ {
return (memcmp(a, b, size) == 0); return memcmp(a, b, size) == 0;
} }
static void hashmap_item_dtor(void* key, size_t key_size, void* value, size_t value_size) static void hashmap_item_dtor(void* key, size_t key_size, void* value, size_t value_size)

View File

@ -150,11 +150,13 @@ static char* _select_font(fc_instance_t* priv, const char* family, unsigned bold
if (curf >= fset->nfont) if (curf >= fset->nfont)
goto error; goto error;
#if (FC_VERSION >= 20297)
// Remove all extra family names from original pattern. // Remove all extra family names from original pattern.
// After this, FcFontRenderPrepare will select the most relevant family // After this, FcFontRenderPrepare will select the most relevant family
// name in case there are more than one of them. // name in case there are more than one of them.
for (; family_cnt > 1; --family_cnt) for (; family_cnt > 1; --family_cnt)
FcPatternRemove(pat, FC_FAMILY, family_cnt - 1); FcPatternRemove(pat, FC_FAMILY, family_cnt - 1);
#endif
rpat = FcFontRenderPrepare(priv->config, pat, fset->fonts[curf]); rpat = FcFontRenderPrepare(priv->config, pat, fset->fonts[curf]);
if (!rpat) if (!rpat)
@ -349,35 +351,39 @@ static void process_fontdata(fc_instance_t* priv, ass_library_t* library, FT_Lib
FcPattern* pattern; FcPattern* pattern;
FcFontSet* fset; FcFontSet* fset;
FcBool res; FcBool res;
int face_index, num_faces = 1;
rc = FT_New_Memory_Face(ftlibrary, (unsigned char*)data, data_size, 0, &face); for (face_index = 0; face_index < num_faces; ++face_index) {
if (rc) { rc = FT_New_Memory_Face(ftlibrary, (unsigned char*)data, data_size, face_index, &face);
mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_ErrorOpeningMemoryFont, name); if (rc) {
return; mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_ErrorOpeningMemoryFont, name);
} return;
}
num_faces = face->num_faces;
pattern = FcFreeTypeQueryFace(face, (unsigned char*)name, 0, FcConfigGetBlanks(priv->config));
if (!pattern) {
mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_FunctionCallFailed, "FcFreeTypeQueryFace");
FT_Done_Face(face);
return;
}
fset = FcConfigGetFonts(priv->config, FcSetSystem); // somehow it failes when asked for FcSetApplication
if (!fset) {
mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_FunctionCallFailed, "FcConfigGetFonts");
FT_Done_Face(face);
return;
}
res = FcFontSetAdd(fset, pattern);
if (!res) {
mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_FunctionCallFailed, "FcFontSetAdd");
FT_Done_Face(face);
return;
}
pattern = FcFreeTypeQueryFace(face, (unsigned char*)name, 0, FcConfigGetBlanks(priv->config));
if (!pattern) {
mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_FunctionCallFailed, "FcFreeTypeQueryFace");
FT_Done_Face(face); FT_Done_Face(face);
return;
} }
fset = FcConfigGetFonts(priv->config, FcSetSystem); // somehow it failes when asked for FcSetApplication
if (!fset) {
mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_FunctionCallFailed, "FcConfigGetFonts");
FT_Done_Face(face);
return;
}
res = FcFontSetAdd(fset, pattern);
if (!res) {
mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_FunctionCallFailed, "FcFontSetAdd");
FT_Done_Face(face);
return;
}
FT_Done_Face(face);
#endif #endif
} }

View File

@ -241,7 +241,7 @@ static int open_dir(menu_t* menu,char* args) {
if(dp->d_name[0] == '.' && strcmp(dp->d_name,"..") != 0) if(dp->d_name[0] == '.' && strcmp(dp->d_name,"..") != 0)
continue; continue;
if (menu_chroot && !strcmp (dp->d_name,"..")) { if (menu_chroot && !strcmp (dp->d_name,"..")) {
int len = strlen (menu_chroot); size_t len = strlen (menu_chroot);
if ((strlen (mpriv->dir) == len || strlen (mpriv->dir) == len + 1) if ((strlen (mpriv->dir) == len || strlen (mpriv->dir) == len + 1)
&& !strncmp (mpriv->dir, menu_chroot, len)) && !strncmp (mpriv->dir, menu_chroot, len))
continue; continue;

View File

@ -215,7 +215,7 @@ static int config(struct vf_instance* vf, int width, int height, int d_width, in
} }
static int query_format(struct vf_instance* vf, unsigned int fmt){ static int query_format(struct vf_instance* vf, unsigned int fmt){
return (vf_next_query_format(vf,fmt)); return vf_next_query_format(vf, fmt);
} }
static int open_vf(vf_instance_t *vf, char* args){ static int open_vf(vf_instance_t *vf, char* args){

View File

@ -128,14 +128,17 @@ static int init(sh_audio_t *sh_audio)
} }
if(ac3dts_fillbuff(sh_audio) < 0) if(ac3dts_fillbuff(sh_audio) < 0)
{ {
a52_free(a52_state);
mp_msg(MSGT_DECAUDIO, MSGL_ERR, "AC3/DTS sync failed\n"); mp_msg(MSGT_DECAUDIO, MSGL_ERR, "AC3/DTS sync failed\n");
return 0; return 0;
} }
sh_audio->context = a52_state;
return 1; return 1;
} }
static void uninit(sh_audio_t *sh) static void uninit(sh_audio_t *sh)
{ {
a52_free(sh->context);
} }
static int control(sh_audio_t *sh,int cmd,void* arg, ...) static int control(sh_audio_t *sh,int cmd,void* arg, ...)

View File

@ -253,6 +253,7 @@ while(sh_audio->channels>0){
static void uninit(sh_audio_t *sh) static void uninit(sh_audio_t *sh)
{ {
a52_free(a52_state);
} }
static int control(sh_audio_t *sh,int cmd,void* arg, ...) static int control(sh_audio_t *sh,int cmd,void* arg, ...)

View File

@ -216,7 +216,7 @@ static int bread(char *data, /* Output: Output data array */
} }
iptr = priv->ptr; /* current file data buffer pointer */ iptr = priv->ptr; /* current file data buffer pointer */
if ( iptr >= priv->nbuf ) /* If data file is empty then return */ if ( iptr >= priv->nbuf ) /* If data file is empty then return */
return(retval); return retval;
ibufadr = iptr/BYTE_BIT; /* current file data buffer address */ ibufadr = iptr/BYTE_BIT; /* current file data buffer address */
ibufbit = iptr%BYTE_BIT; /* current file data buffer bit */ ibufbit = iptr%BYTE_BIT; /* current file data buffer bit */
/* tmpdat = stream->buf[ibufadr] >> (BYTE_BIT-ibufbit-1); */ /* tmpdat = stream->buf[ibufadr] >> (BYTE_BIT-ibufbit-1); */
@ -235,7 +235,7 @@ static int bread(char *data, /* Output: Output data array */
} }
++retval; ++retval;
} }
return(retval); return retval;
} }
#define BITS_INT (sizeof(int)*8) #define BITS_INT (sizeof(int)*8)
@ -266,7 +266,7 @@ static int get_bstm(int *data, /* Input: input data */
mask >>= 1; mask >>= 1;
} }
*data = work; *data = work;
return(retval); return retval;
} }
static int GetVqInfo( tvqConfInfoSubBlock *cfg, static int GetVqInfo( tvqConfInfoSubBlock *cfg,

View File

@ -122,7 +122,7 @@ static int encode_lame(audio_encoder_t *encoder, uint8_t *dest, void *src, int l
else else
n = lame_encode_buffer_interleaved(lame,(short *)src, len/4, dest, max_size); n = lame_encode_buffer_interleaved(lame,(short *)src, len/4, dest, max_size);
return (n < 0 ? 0 : n); return n < 0 ? 0 : n;
} }

View File

@ -89,7 +89,7 @@ int set_video_colors(sh_video_t *sh_video, const char *item, int value)
if (vf) { if (vf) {
int ret = vf->control(vf, VFCTRL_SET_EQUALIZER, &data); int ret = vf->control(vf, VFCTRL_SET_EQUALIZER, &data);
if (ret == CONTROL_TRUE) if (ret == CONTROL_TRUE)
return (1); return 1;
} }
/* try software control */ /* try software control */
const struct vd_functions *vd = sh_video->vd_driver; const struct vd_functions *vd = sh_video->vd_driver;
@ -114,7 +114,7 @@ int get_video_colors(sh_video_t *sh_video, const char *item, int *value)
int ret = vf->control(vf, VFCTRL_GET_EQUALIZER, &data); int ret = vf->control(vf, VFCTRL_GET_EQUALIZER, &data);
if (ret == CONTROL_TRUE) { if (ret == CONTROL_TRUE) {
*value = data.value; *value = data.value;
return (1); return 1;
} }
} }
/* try software control */ /* try software control */
@ -133,7 +133,7 @@ int set_rectangle(sh_video_t *sh_video, int param, int value)
if (vf) { if (vf) {
int ret = vf->control(vf, VFCTRL_CHANGE_RECTANGLE, data); int ret = vf->control(vf, VFCTRL_CHANGE_RECTANGLE, data);
if (ret) if (ret)
return (1); return 1;
} }
return 0; return 0;
} }

View File

@ -7,66 +7,66 @@ const char *vo_format_name(int format)
static char unknown_format[20]; static char unknown_format[20];
switch(format) switch(format)
{ {
case IMGFMT_RGB1: return("RGB 1-bit"); case IMGFMT_RGB1: return "RGB 1-bit";
case IMGFMT_RGB4: return("RGB 4-bit"); case IMGFMT_RGB4: return "RGB 4-bit";
case IMGFMT_RG4B: return("RGB 4-bit per byte"); case IMGFMT_RG4B: return "RGB 4-bit per byte";
case IMGFMT_RGB8: return("RGB 8-bit"); case IMGFMT_RGB8: return "RGB 8-bit";
case IMGFMT_RGB15: return("RGB 15-bit"); case IMGFMT_RGB15: return "RGB 15-bit";
case IMGFMT_RGB16: return("RGB 16-bit"); case IMGFMT_RGB16: return "RGB 16-bit";
case IMGFMT_RGB24: return("RGB 24-bit"); case IMGFMT_RGB24: return "RGB 24-bit";
// case IMGFMT_RGB32: return("RGB 32-bit"); // case IMGFMT_RGB32: return "RGB 32-bit";
case IMGFMT_BGR1: return("BGR 1-bit"); case IMGFMT_BGR1: return "BGR 1-bit";
case IMGFMT_BGR4: return("BGR 4-bit"); case IMGFMT_BGR4: return "BGR 4-bit";
case IMGFMT_BG4B: return("BGR 4-bit per byte"); case IMGFMT_BG4B: return "BGR 4-bit per byte";
case IMGFMT_BGR8: return("BGR 8-bit"); case IMGFMT_BGR8: return "BGR 8-bit";
case IMGFMT_BGR15: return("BGR 15-bit"); case IMGFMT_BGR15: return "BGR 15-bit";
case IMGFMT_BGR16: return("BGR 16-bit"); case IMGFMT_BGR16: return "BGR 16-bit";
case IMGFMT_BGR24: return("BGR 24-bit"); case IMGFMT_BGR24: return "BGR 24-bit";
// case IMGFMT_BGR32: return("BGR 32-bit"); // case IMGFMT_BGR32: return "BGR 32-bit";
case IMGFMT_ABGR: return("ABGR"); case IMGFMT_ABGR: return "ABGR";
case IMGFMT_BGRA: return("BGRA"); case IMGFMT_BGRA: return "BGRA";
case IMGFMT_ARGB: return("ARGB"); case IMGFMT_ARGB: return "ARGB";
case IMGFMT_RGBA: return("RGBA"); case IMGFMT_RGBA: return "RGBA";
case IMGFMT_YVU9: return("Planar YVU9"); case IMGFMT_YVU9: return "Planar YVU9";
case IMGFMT_IF09: return("Planar IF09"); case IMGFMT_IF09: return "Planar IF09";
case IMGFMT_YV12: return("Planar YV12"); case IMGFMT_YV12: return "Planar YV12";
case IMGFMT_I420: return("Planar I420"); case IMGFMT_I420: return "Planar I420";
case IMGFMT_IYUV: return("Planar IYUV"); case IMGFMT_IYUV: return "Planar IYUV";
case IMGFMT_CLPL: return("Planar CLPL"); case IMGFMT_CLPL: return "Planar CLPL";
case IMGFMT_Y800: return("Planar Y800"); case IMGFMT_Y800: return "Planar Y800";
case IMGFMT_Y8: return("Planar Y8"); case IMGFMT_Y8: return "Planar Y8";
case IMGFMT_444P: return("Planar 444P"); case IMGFMT_444P: return "Planar 444P";
case IMGFMT_422P: return("Planar 422P"); case IMGFMT_422P: return "Planar 422P";
case IMGFMT_411P: return("Planar 411P"); case IMGFMT_411P: return "Planar 411P";
case IMGFMT_NV12: return("Planar NV12"); case IMGFMT_NV12: return "Planar NV12";
case IMGFMT_NV21: return("Planar NV21"); case IMGFMT_NV21: return "Planar NV21";
case IMGFMT_HM12: return("Planar NV12 Macroblock"); case IMGFMT_HM12: return "Planar NV12 Macroblock";
case IMGFMT_IUYV: return("Packed IUYV"); case IMGFMT_IUYV: return "Packed IUYV";
case IMGFMT_IY41: return("Packed IY41"); case IMGFMT_IY41: return "Packed IY41";
case IMGFMT_IYU1: return("Packed IYU1"); case IMGFMT_IYU1: return "Packed IYU1";
case IMGFMT_IYU2: return("Packed IYU2"); case IMGFMT_IYU2: return "Packed IYU2";
case IMGFMT_UYVY: return("Packed UYVY"); case IMGFMT_UYVY: return "Packed UYVY";
case IMGFMT_UYNV: return("Packed UYNV"); case IMGFMT_UYNV: return "Packed UYNV";
case IMGFMT_cyuv: return("Packed CYUV"); case IMGFMT_cyuv: return "Packed CYUV";
case IMGFMT_Y422: return("Packed Y422"); case IMGFMT_Y422: return "Packed Y422";
case IMGFMT_YUY2: return("Packed YUY2"); case IMGFMT_YUY2: return "Packed YUY2";
case IMGFMT_YUNV: return("Packed YUNV"); case IMGFMT_YUNV: return "Packed YUNV";
case IMGFMT_YVYU: return("Packed YVYU"); case IMGFMT_YVYU: return "Packed YVYU";
case IMGFMT_Y41P: return("Packed Y41P"); case IMGFMT_Y41P: return "Packed Y41P";
case IMGFMT_Y211: return("Packed Y211"); case IMGFMT_Y211: return "Packed Y211";
case IMGFMT_Y41T: return("Packed Y41T"); case IMGFMT_Y41T: return "Packed Y41T";
case IMGFMT_Y42T: return("Packed Y42T"); case IMGFMT_Y42T: return "Packed Y42T";
case IMGFMT_V422: return("Packed V422"); case IMGFMT_V422: return "Packed V422";
case IMGFMT_V655: return("Packed V655"); case IMGFMT_V655: return "Packed V655";
case IMGFMT_CLJR: return("Packed CLJR"); case IMGFMT_CLJR: return "Packed CLJR";
case IMGFMT_YUVP: return("Packed YUVP"); case IMGFMT_YUVP: return "Packed YUVP";
case IMGFMT_UYVP: return("Packed UYVP"); case IMGFMT_UYVP: return "Packed UYVP";
case IMGFMT_MPEGPES: return("Mpeg PES"); case IMGFMT_MPEGPES: return "Mpeg PES";
case IMGFMT_ZRMJPEGNI: return("Zoran MJPEG non-interlaced"); case IMGFMT_ZRMJPEGNI: return "Zoran MJPEG non-interlaced";
case IMGFMT_ZRMJPEGIT: return("Zoran MJPEG top field first"); case IMGFMT_ZRMJPEGIT: return "Zoran MJPEG top field first";
case IMGFMT_ZRMJPEGIB: return("Zoran MJPEG bottom field first"); case IMGFMT_ZRMJPEGIB: return "Zoran MJPEG bottom field first";
case IMGFMT_XVMC_MOCO_MPEG2: return("MPEG1/2 Motion Compensation"); case IMGFMT_XVMC_MOCO_MPEG2: return "MPEG1/2 Motion Compensation";
case IMGFMT_XVMC_IDCT_MPEG2: return("MPEG1/2 Motion Compensation and IDCT"); case IMGFMT_XVMC_IDCT_MPEG2: return "MPEG1/2 Motion Compensation and IDCT";
} }
snprintf(unknown_format,20,"Unknown 0x%04x",format); snprintf(unknown_format,20,"Unknown 0x%04x",format);
return unknown_format; return unknown_format;

View File

@ -21,8 +21,8 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
#ifndef RTJPEGN_H #ifndef MPLAYER_RTJPEGN_H
#define RTJPEGN_H #define MPLAYER_RTJPEGN_H
#include <stdint.h> #include <stdint.h>
@ -58,4 +58,4 @@ extern void RTjpeg_yuvrgb16(__u8 *buf, __u8 *rgb, int stride);
extern void RTjpeg_yuvrgb24(__u8 *buf, __u8 *rgb, int stride); extern void RTjpeg_yuvrgb24(__u8 *buf, __u8 *rgb, int stride);
extern void RTjpeg_yuvrgb32(__u8 *buf, __u8 *rgb, int stride); extern void RTjpeg_yuvrgb32(__u8 *buf, __u8 *rgb, int stride);
#endif /* RTJPEGN_H */ #endif /* MPLAYER_RTJPEGN_H */

View File

@ -211,7 +211,7 @@ static int init(sh_video_t *sh){
ctx = sh->context = malloc(sizeof(vd_ffmpeg_ctx)); ctx = sh->context = malloc(sizeof(vd_ffmpeg_ctx));
if (!ctx) if (!ctx)
return(0); return 0;
memset(ctx, 0, sizeof(vd_ffmpeg_ctx)); memset(ctx, 0, sizeof(vd_ffmpeg_ctx));
lavc_codec = (AVCodec *)avcodec_find_decoder_by_name(sh->codec->dll); lavc_codec = (AVCodec *)avcodec_find_decoder_by_name(sh->codec->dll);

View File

@ -196,7 +196,7 @@ static int init(sh_video_t *sh){
prev=FindNextComponent(NULL,&desc); prev=FindNextComponent(NULL,&desc);
if(!prev){ if(!prev){
mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Cannot find requested component\n"); mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Cannot find requested component\n");
return(0); return 0;
} }
mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"Found it! ID = %p\n",prev); mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"Found it! ID = %p\n",prev);
@ -278,7 +278,7 @@ static int init(sh_video_t *sh){
break; break;
default: default:
mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Unknown requested csp\n"); mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Unknown requested csp\n");
return(0); return 0;
} }
mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"imgfmt: %s qt_imgfmt: %.4s\n", vo_format_name(imgfmt), (char *)&qt_imgfmt); mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"imgfmt: %s qt_imgfmt: %.4s\n", vo_format_name(imgfmt), (char *)&qt_imgfmt);
sh->context = (void *)qt_imgfmt; sh->context = (void *)qt_imgfmt;

View File

@ -427,5 +427,5 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
(sh->disp_w != transform_out[3] || sh->disp_h != transform_out[4])) (sh->disp_w != transform_out[3] || sh->disp_h != transform_out[4]))
initialized = 0; initialized = 0;
return (result?NULL:mpi); return result ? NULL : mpi;
} }

View File

@ -211,7 +211,7 @@ static int xacodec_load(sh_video_t *sh, char *filename)
mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: failed to dlopen %s while %s\n", filename, error); mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: failed to dlopen %s while %s\n", filename, error);
else else
mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: failed to dlopen %s\n", filename); mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: failed to dlopen %s\n", filename);
return(0); return 0;
} }
what_the = dlsym(priv->file_handler, "What_The"); what_the = dlsym(priv->file_handler, "What_The");
@ -219,7 +219,7 @@ static int xacodec_load(sh_video_t *sh, char *filename)
{ {
mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: failed to init %s while %s\n", filename, error); mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: failed to init %s while %s\n", filename, error);
dlclose(priv->file_handler); dlclose(priv->file_handler);
return(0); return 0;
} }
mod_hdr = what_the(); mod_hdr = what_the();
@ -227,7 +227,7 @@ static int xacodec_load(sh_video_t *sh, char *filename)
{ {
mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: initializer function failed in %s\n", filename); mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: initializer function failed in %s\n", filename);
dlclose(priv->file_handler); dlclose(priv->file_handler);
return(0); return 0;
} }
mp_msg(MSGT_DECVIDEO, MSGL_V, "=== XAnim Codec ===\n"); mp_msg(MSGT_DECVIDEO, MSGL_V, "=== XAnim Codec ===\n");
@ -245,7 +245,7 @@ static int xacodec_load(sh_video_t *sh, char *filename)
mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: not supported api revision (%d) in %s\n", mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: not supported api revision (%d) in %s\n",
mod_hdr->api_rev, filename); mod_hdr->api_rev, filename);
dlclose(priv->file_handler); dlclose(priv->file_handler);
return(0); return 0;
} }
func = mod_hdr->funcs; func = mod_hdr->funcs;
@ -253,7 +253,7 @@ static int xacodec_load(sh_video_t *sh, char *filename)
{ {
mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: function table error in %s\n", filename); mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: function table error in %s\n", filename);
dlclose(priv->file_handler); dlclose(priv->file_handler);
return(0); return 0;
} }
mp_msg(MSGT_DECVIDEO, MSGL_DBG2, "Exported functions by codec: [functable: %p entries: %d]\n", mp_msg(MSGT_DECVIDEO, MSGL_DBG2, "Exported functions by codec: [functable: %p entries: %d]\n",
@ -281,7 +281,7 @@ static int xacodec_load(sh_video_t *sh, char *filename)
priv->dec_func = (void *)func[i].dec_func; priv->dec_func = (void *)func[i].dec_func;
} }
} }
return(1); return 1;
} }
static int xacodec_query(sh_video_t *sh, XA_CODEC_HDR *codec_hdr) static int xacodec_query(sh_video_t *sh, XA_CODEC_HDR *codec_hdr)
@ -295,7 +295,7 @@ static int xacodec_query(sh_video_t *sh, XA_CODEC_HDR *codec_hdr)
{ {
codec_hdr->decoder = priv->dec_func; codec_hdr->decoder = priv->dec_func;
mp_msg(MSGT_DECVIDEO, MSGL_DBG2, "We got decoder's address at init! %p\n", codec_hdr->decoder); mp_msg(MSGT_DECVIDEO, MSGL_DBG2, "We got decoder's address at init! %p\n", codec_hdr->decoder);
return(1); return 1;
} }
#endif #endif
@ -306,16 +306,16 @@ static int xacodec_query(sh_video_t *sh, XA_CODEC_HDR *codec_hdr)
priv->dec_func = (void *)codec_hdr->decoder; priv->dec_func = (void *)codec_hdr->decoder;
mp_msg(MSGT_DECVIDEO, MSGL_DBG2, "Codec is supported: found decoder for %s at %p\n", mp_msg(MSGT_DECVIDEO, MSGL_DBG2, "Codec is supported: found decoder for %s at %p\n",
codec_hdr->description, codec_hdr->decoder); codec_hdr->description, codec_hdr->decoder);
return(1); return 1;
case CODEC_UNSUPPORTED: case CODEC_UNSUPPORTED:
mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "Codec (%s) is unsupported by dll\n", mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "Codec (%s) is unsupported by dll\n",
codec_hdr->description); codec_hdr->description);
return(0); return 0;
case CODEC_UNKNOWN: case CODEC_UNKNOWN:
default: default:
mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "Codec (%s) is unknown by dll\n", mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "Codec (%s) is unknown by dll\n",
codec_hdr->description); codec_hdr->description);
return(0); return 0;
} }
} }
@ -475,7 +475,7 @@ void *YUV2x2_Map_Func(unsigned int image_type, unsigned int dith_type)
{ {
mp_dbg(MSGT_DECVIDEO,MSGL_DBG2, "YUV2x2_Map_Func('image_type: %d', 'dith_type: %d')", mp_dbg(MSGT_DECVIDEO,MSGL_DBG2, "YUV2x2_Map_Func('image_type: %d', 'dith_type: %d')",
image_type, dith_type); image_type, dith_type);
return((void*)XA_YUV_2x2_clr); return (void*)XA_YUV_2x2_clr;
} }
/* -------------------- whole YUV frame converters ------------------------- */ /* -------------------- whole YUV frame converters ------------------------- */
@ -581,7 +581,7 @@ void XA_YUV1611_Convert(unsigned char *image_p, unsigned int imagex, unsigned in
void *XA_YUV1611_Func(unsigned int image_type) void *XA_YUV1611_Func(unsigned int image_type)
{ {
mp_dbg(MSGT_DECVIDEO,MSGL_DBG2, "XA_YUV1611_Func('image_type: %d')", image_type); mp_dbg(MSGT_DECVIDEO,MSGL_DBG2, "XA_YUV1611_Func('image_type: %d')", image_type);
return((void *)XA_YUV1611_Convert); return (void *)XA_YUV1611_Convert;
} }
/* --------------- YUV 2x2 1x1 1x1 (4:2:0 aka YV12) [3ivX,H263] ------------ */ /* --------------- YUV 2x2 1x1 1x1 (4:2:0 aka YV12) [3ivX,H263] ------------ */
@ -619,7 +619,7 @@ void XA_YUV221111_Convert(unsigned char *image_p, unsigned int imagex, unsigned
void *XA_YUV221111_Func(unsigned int image_type) void *XA_YUV221111_Func(unsigned int image_type)
{ {
mp_dbg(MSGT_DECVIDEO,MSGL_DBG2, "XA_YUV221111_Func('image_type: %d')\n",image_type); mp_dbg(MSGT_DECVIDEO,MSGL_DBG2, "XA_YUV221111_Func('image_type: %d')\n",image_type);
return((void *)XA_YUV221111_Convert); return (void *)XA_YUV221111_Convert;
} }
/* *** EOF XANIM *** */ /* *** EOF XANIM *** */
@ -657,7 +657,7 @@ static int init(sh_video_t *sh)
snprintf(dll, 1024, "%s/%s", def_path, sh->codec->dll); snprintf(dll, 1024, "%s/%s", def_path, sh->codec->dll);
if (xacodec_load(sh, dll) == 0) if (xacodec_load(sh, dll) == 0)
return(0); return 0;
codec_hdr.xapi_rev = XAVID_API_REV; codec_hdr.xapi_rev = XAVID_API_REV;
codec_hdr.anim_hdr = malloc(4096); codec_hdr.anim_hdr = malloc(4096);
@ -690,13 +690,13 @@ static int init(sh_video_t *sh)
default: default:
mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: not supported image out format (%s)\n", mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: not supported image out format (%s)\n",
vo_format_name(sh->codec->outfmt[sh->outfmtidx])); vo_format_name(sh->codec->outfmt[sh->outfmtidx]));
return(0); return 0;
} }
mp_msg(MSGT_DECVIDEO, MSGL_INFO, "xacodec: querying for input %dx%d %dbit [fourcc: %4x] (%s)...\n", mp_msg(MSGT_DECVIDEO, MSGL_INFO, "xacodec: querying for input %dx%d %dbit [fourcc: %4x] (%s)...\n",
codec_hdr.x, codec_hdr.y, codec_hdr.depth, codec_hdr.compression, codec_hdr.description); codec_hdr.x, codec_hdr.y, codec_hdr.depth, codec_hdr.compression, codec_hdr.description);
if (xacodec_query(sh, &codec_hdr) == 0) if (xacodec_query(sh, &codec_hdr) == 0)
return(0); return 0;
// free(codec_hdr.anim_hdr); // free(codec_hdr.anim_hdr);
@ -705,7 +705,7 @@ static int init(sh_video_t *sh)
{ {
mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: memory allocation error: %s\n", mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: memory allocation error: %s\n",
strerror(errno)); strerror(errno));
return(0); return 0;
} }
priv->decinfo->cmd = 0; priv->decinfo->cmd = 0;
priv->decinfo->skip_flag = 0; priv->decinfo->skip_flag = 0;
@ -721,7 +721,7 @@ static int init(sh_video_t *sh)
mp_msg(MSGT_DECVIDEO, MSGL_DBG2, "decinfo->extra, filled by codec: %p [%s]\n", mp_msg(MSGT_DECVIDEO, MSGL_DBG2, "decinfo->extra, filled by codec: %p [%s]\n",
&priv->decinfo->extra, (char *)priv->decinfo->extra); &priv->decinfo->extra, (char *)priv->decinfo->extra);
return(1); return 1;
} }
// uninit driver // uninit driver

View File

@ -86,7 +86,7 @@ static float stats2aspect(xvid_dec_stats_t *stats);
static int control(sh_video_t *sh,int cmd,void* arg,...) static int control(sh_video_t *sh,int cmd,void* arg,...)
{ {
return(CONTROL_UNKNOWN); return CONTROL_UNKNOWN;
} }
/*============================================================================ /*============================================================================
@ -144,7 +144,7 @@ static int init(sh_video_t *sh)
default: default:
mp_msg(MSGT_DECVIDEO, MSGL_ERR, "Unsupported out_fmt: 0x%X\n", mp_msg(MSGT_DECVIDEO, MSGL_ERR, "Unsupported out_fmt: 0x%X\n",
sh->codec->outfmt[sh->outfmtidx]); sh->codec->outfmt[sh->outfmtidx]);
return(0); return 0;
} }
/* Gather some information about the host library */ /* Gather some information about the host library */
@ -160,7 +160,7 @@ static int init(sh_video_t *sh)
/* Initialize the xvidcore library */ /* Initialize the xvidcore library */
if(xvid_global(NULL, XVID_GBL_INIT, &xvid_ini, NULL)) if(xvid_global(NULL, XVID_GBL_INIT, &xvid_ini, NULL))
return(0); return 0;
/* We use 0 width and height so xvidcore will resize its buffers /* We use 0 width and height so xvidcore will resize its buffers
* if required. That allows this vd plugin to do resize on first * if required. That allows this vd plugin to do resize on first
@ -171,7 +171,7 @@ static int init(sh_video_t *sh)
/* Get a decoder instance */ /* Get a decoder instance */
if(xvid_decore(0, XVID_DEC_CREATE, &dec_p, NULL)<0) { if(xvid_decore(0, XVID_DEC_CREATE, &dec_p, NULL)<0) {
mp_msg(MSGT_DECVIDEO, MSGL_ERR, "XviD init failed\n"); mp_msg(MSGT_DECVIDEO, MSGL_ERR, "XviD init failed\n");
return(0); return 0;
} }
p = malloc(sizeof(priv_t)); p = malloc(sizeof(priv_t));
@ -192,7 +192,7 @@ static int init(sh_video_t *sh)
break; break;
} }
return(1); return 1;
} }
/*============================================================================ /*============================================================================
@ -221,7 +221,7 @@ static mp_image_t* decode(sh_video_t *sh, void* data, int len, int flags)
if(!data || len <= 0) if(!data || len <= 0)
return(NULL); return NULL;
memset(&dec,0,sizeof(xvid_dec_frame_t)); memset(&dec,0,sizeof(xvid_dec_frame_t));
memset(&stats, 0, sizeof(xvid_dec_stats_t)); memset(&stats, 0, sizeof(xvid_dec_stats_t));
@ -272,7 +272,7 @@ static mp_image_t* decode(sh_video_t *sh, void* data, int len, int flags)
consumed = xvid_decore(p->hdl, XVID_DEC_DECODE, &dec, &stats); consumed = xvid_decore(p->hdl, XVID_DEC_DECODE, &dec, &stats);
if (consumed < 0) { if (consumed < 0) {
mp_msg(MSGT_DECVIDEO, MSGL_ERR, "Decoding error\n"); mp_msg(MSGT_DECVIDEO, MSGL_ERR, "Decoding error\n");
return(NULL); return NULL;
} }
/* Found a VOL information stats, if VO plugin is not initialized /* Found a VOL information stats, if VO plugin is not initialized
@ -280,7 +280,7 @@ static mp_image_t* decode(sh_video_t *sh, void* data, int len, int flags)
if (stats.type == XVID_TYPE_VOL && !p->vo_initialized) { if (stats.type == XVID_TYPE_VOL && !p->vo_initialized) {
sh->aspect = stats2aspect(&stats); sh->aspect = stats2aspect(&stats);
if(!mpcodecs_config_vo(sh, stats.data.vol.width, stats.data.vol.height, IMGFMT_YV12)) if(!mpcodecs_config_vo(sh, stats.data.vol.width, stats.data.vol.height, IMGFMT_YV12))
return(NULL); return NULL;
/* Don't take this path twice */ /* Don't take this path twice */
p->vo_initialized = !p->vo_initialized; p->vo_initialized = !p->vo_initialized;
@ -309,7 +309,7 @@ static mp_image_t* decode(sh_video_t *sh, void* data, int len, int flags)
/* If we got out the decoding loop because the buffer was empty and there was nothing /* If we got out the decoding loop because the buffer was empty and there was nothing
* to output yet, then just return NULL */ * to output yet, then just return NULL */
return((stats.type == XVID_TYPE_NOTHING)? NULL: mpi); return (stats.type == XVID_TYPE_NOTHING) ? NULL : mpi;
} }
/***************************************************************************** /*****************************************************************************
@ -368,10 +368,10 @@ static float stats2aspect(xvid_dec_stats_t *stats)
dar = ((float)stats->data.vol.width*wpar); dar = ((float)stats->data.vol.width*wpar);
dar /= ((float)stats->data.vol.height*hpar); dar /= ((float)stats->data.vol.height*hpar);
return(dar); return dar;
} }
return(0.0f); return 0.0f;
} }
/***************************************************************************** /*****************************************************************************

Some files were not shown because too many files have changed in this diff Show More