1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-19 18:05:21 +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>
* various fixes
* unsharp video filter
* XviD encoding support
* Xvid encoding support
Hall, Julian <jules@meridiandigital.co.uk>
* black frame detection filter (vf_blackframe)
@ -642,7 +642,7 @@ Poettering, Lennart <mzzcynlre@0pointer.de>
Poirier, Guillaume (poirierg) <poirierg@gmail.com>
* French documentation translation and synchronization
* XviD documentation
* Xvid documentation
* libavcodec turbo mode
* lots of updates of MEncoder's documentation
* code fixes to support GCC-4.0
@ -751,7 +751,7 @@ Svoboda, Jiří (zar) <Jiri.Svoboda@seznam.cz>
Swain, Robert <robert.swain@gmail.com>
* 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>
* -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.
* split of stream layer from libmpdemux to stream.
* VIDIX core and drivers.
* Linux AppleIR remote support.
________________
The codecs, libs

View File

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

View File

@ -150,3 +150,12 @@ Directory: libmpdemux/yuv4mpeg*
Copyright: 2001 Matthew J. Marjanovic <maddog@mir.com>
2001 Andrew Stevens <andrew.stevens@philips.com>
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).
.IPs "q / ESC"
Stop playing and quit.
.IPs "U\ \ \ \ "
Stop playing (and quit if \-idle is not used).
.IPs "+ and \-"
Adjust audio delay by +/\- 0.1 seconds.
.IPs "/ and *"
@ -823,7 +825,7 @@ xover, xv (see \-vo xv:ck), xvmc (see \-vo xv:ck) and directx video output
drivers.
.
.TP
.B \-correct\-pts (experimental)
.B \-correct\-pts (EXPERIMENTAL)
Switches MPlayer to an experimental mode where timestamps for video frames
are calculated differently and video filters which add new frames or
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).
.sp 1
This can be "misused" to disable screensavers that do not support the proper
X API for this.
If you think this is too complicated ask the author of the screensaver program
to support the proper X APIs for this.
X API.
If you think this is too complicated, ask the author of the screensaver
program to support the proper X APIs.
.sp 1
.I EXAMPLE for xscreensaver:
mplayer \-heartbeat\-cmd "xscreensaver\-command \-deactivate" file
.sp 1
.I EXAMPLE for gnome screensaver:
.I EXAMPLE for GNOME screensaver:
mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" file
.RE
.PD 1
@ -950,6 +952,8 @@ Available commands are:
Specify input configuration file other than the default
~/\:.mplayer/\:input.conf.
~/\:.mplayer/\:<filename> is assumed if no full path is given.
.IPs ar-dev=<device>
Device to be used for Apple IR Remote (default is autodetected, Linux only).
.IPs ar-delay
Delay in milliseconds before we start to autorepeat a key (0 to disable).
.IPs ar-rate
@ -1052,6 +1056,10 @@ Turns off joystick support.
Turns off LIRC support.
.
.TP
.B \-noar
Turns off AppleIR remote support.
.
.TP
.B \-nomouseinput
Disable mouse button press/\:release input (mozplayerxp's context menu relies
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,
but also makes use of newer extensions, which allow support for more
colorspaces and direct rendering.
Please use \-dr if it works with your OpenGL implementation,
since for higher resolutions this provides a
.B big
speedup.
For optimal speed try something similar to
.br
\-vo gl:yuv=2:force\-pbo:ati\-hack \-dr \-noslices
.br
The code performs very few checks, so if a feature does not work, this
might be because it is not supported by your card/OpenGL implementation
even if you do not get any error message.
Use glxinfo or a similar tool to display the supported OpenGL extensions.
.PD 0
.RSs
.IPs (no)ati\-hack
ATI drivers may give a corrupted image when PBOs are used (when using \-dr
or force\-pbo).
This option fixes this, at the expense of using a bit more memory.
.IPs (no)force\-pbo
Always uses PBOs to transfer textures even if this involves an extra copy.
Currently this gives a little extra speed with NVidia drivers and a lot more
speed with ATI drivers.
May need \-noslices and the ati\-hack suboption to work correctly.
.IPs (no)scaled-osd
Changes the way the OSD behaves when the size of the
window changes (default: disabled).
@ -5362,7 +5379,7 @@ Scales pitch without altering tempo.
Add \'[ speed_mult 0.9438743126816935\' and \'] speed_mult 1.059463094352953\'
to your input.conf to step by musical semi-tones.
.I WARNING:
Looses synch with video.
Loses sync with video.
.IPs both
Scale both tempo and pitch
.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).
.
.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>>
Either uses a predefined custom quantization matrix or loads a JM format
matrix file.

View File

@ -246,6 +246,8 @@ juste une trame et remettra le film en pause (toute autre touche arr
pause).
.IPs "q / ESC"
Stoppe la lecture et quitte.
.IPs "U\ \ \ \ "
Stoppe la lecture (et quitte si \-idle n'est pas utilisé).
.IPs "+ et \-"
Ajuste le décalage audio de +/\- 0.1 secondes.
.IPs "/ et *"
@ -998,6 +1000,9 @@ D
lieu de ~/\:.mplayer/\:input.conf par défaut.
Si vous ne donnez pas le chemin absolu, il sera cherché à
~/\:.mplayer/\:<nom_fichier>.
.IPs ar-dev=<peripherique>
Périphérique à utiliser pour contrôler la télécommande Apple IR
(auto-détecté par défaut, Linux uniquement).
.IPs ar-delay
Temps en milli-secondes avant de démarrer la répétition automatique
d'une touche
@ -1113,6 +1118,10 @@ Activ
Désactive la gestion de LIRC.
.
.TP
.B \-noar
Désactive la gestion de la télécommande AppleIR.
.
.TP
.B \-nomouseinput
Désactive l'interprétation des boutons de la souris (le menu contextuel
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
.\" Ezt a man oldalt Gabucino, Diego Biurrun és Jonas Jermann készíti/készítette
.\" Karbantartó: Gabrov
@ -33,7 +33,7 @@
.\" 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
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).
.IPs "q / ESC"
Lejátszás megállítása és kilépés.
.IPs "U\ \ \ \ "
Lejátszás megállítása (és kilépés, ha a \-idle nincs megadva).
.IPs "+ és \-"
Audió késleltetés állítása +/\- 0.1 másodperccel.
.IPs "/ and *"
@ -948,6 +950,8 @@ A rendelkez
Az alapértelmezett ~/\:.mplayer/\:input.conf -tól eltérő bemeneti
konfigurációs fájl megadása.
Ha nincs elérési út megadva, a ~/\:.mplayer/\:<fájlnév> a feltételezett.
.IPs ar-dev=<eszköz>
Az Apple IR távirányítóhoz használt eszköz (alapértelmezetten automatikus detektálás, csak Linux-on).
.IPs ar-delay
Egy gomb automatikus ismétlése előtti késleltetés miliszekundumban (0: kikapcsolás).
.IPs ar-rate
@ -1053,6 +1057,10 @@ Joystick t
LIRC támogatás kikapcsolása.
.
.TP
.B \-noar
Kikapcsolja az AppleIR távirányító támogatását.
.
.TP
.B \-nomouseinput
Kikapcsolja az egérgomb nyomás/\:felengedés input-ot (a mozplayerxp
helyzetérzékeny menüje igényli ezt a kapcsolót).
@ -1565,10 +1573,10 @@ Automatikusan visszav
.
.TP
.B \-psprobe <bájt pozíció>
MPEG-PS folyam lejátszásakor ezzel az opcióval megadhatod, hogy az
MPlayer hány bájtot vizsgáljon át a használt videó codec azonosításához.
Ez az opció a H264 folyamokat tartalmazó EVO fájlok lejátszásához
szükséges.
MPEG-PS vagy MPEG-PES folyam lejátszásakor ezzel az opcióval megadhatod,
hogy az MPlayer hány bájtot vizsgáljon át a használt videó codec
azonosításához.
Ez az opció a H264 folyamokat tartalmazó EVO vagy VDR fájlok lejátszásához szükséges.
.
.TP
.B \-pvr <opció1:opció2:...> (csak PVR)
@ -3356,6 +3364,8 @@ A haszn
információkat az MPlayer, keresd az [xv common] tag-gel kezdődő sorokat.
.PD 0
.RSs
.IPs adaptor=<szám>
Kiválasztja a megadott XVideo adaptort (lásd az xvinfo ereményét).
.IPs port=<szám>
Adott XVideo port kiválasztása.
.IPs ck=<cur|use|set>
@ -3404,6 +3414,8 @@ Vide
kiterjesztését használja az MPEG-1/2 és VCR2 dekódolás gyorsításához.
.PD 0
.RSs
.IPs adaptor=<szám>
Kiválasztja a megadott XVideo adaptort (lásd az xvinfo eredményét).
.IPs port=<szám>
Adott XVideo port kiválasztása.
.IPs (no)benchmark
@ -3605,11 +3617,11 @@ A vide
textúra mérete.
A szándékok szerint a legegyszerűbb OpenGL implementációkkal is működik, de
használhat újabb kiterjesztéseket is, melyek engedélyezik több színtér és a
DirectRendering támogatását.
Kérjük használd a \-dr kapcsolót, ha működik az OpenGL implementációddal, mivel
nagyobb felbontásoknál ez
.B sokkal
gyorsabb.
direct rendering támogatását.
Az optimális sebességhez próbálj ki valami ehhez hasonlót
.br
\-vo gl:yuv=2:force\-pbo:ati\-hack \-dr \-noslices
.br
A kód nagyon kevés ellenőrzést végez, így ha egy tulajdonság nem elérhető, az
azért lehet, mert a kártyád/OpenGL implementációd nem támogatja, akkor sem, ha
hibaüzenetet nem kapsz.
@ -3617,6 +3629,16 @@ Haszn
kiterjesztések megtekintéséhez.
.PD 0
.RSs
.IPs (no)ati\-hack
Az ATI vezérlők hibás képet adhatnak ha PBO-kat használsz (\-dr vagy
force\-pbo használata).
Ez az opció javítja ezt, egy kicsivel nagyobb memória használat mellett.
.IPs (no)force\-pbo
Mindig PBO-kat használ a textúrák átviteléhez, akkor is, ha ez egy plusz
másolást igényel.
Jelenleg ez egy kis extra sebességet ad az NVidia vezérlőkkel és sokkal
gyorsabb az ATI vezérlőkkel.
Szükség lehet a \-noslices és az ati\-hack alopciókra a megfelelő működéshez.
.IPs (no)scaled-osd
Az OSD viselkedésének megváltoztatása, amikor az ablakméret módosul
(alapértelmezett: letiltva).
@ -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
videó szélessége nagyobb vagy egyenlő mint <w>.
.RE
.IPs "o\ \ \ \ "
FIXME: nem dokumentált
.IPs "sb=<szám> (csak MPEG-2)"
Kihagyja a megadott számú makroblokk sort a tetején.
.IPs "st=<szám> (csak MPEG-2)"
@ -7739,7 +7763,7 @@ Windows Media Video, 2-es verzi
.
.TP
.B vqmin=<1\-31>
minimális kvantáló (pass 1/2)
minimális kvantáló
.RSs
.IPs 1
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
.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
.B mbqmin=<1\-31>
@ -7810,7 +7834,7 @@ idej
.
.TP
.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)
.
.TP
@ -8078,7 +8102,7 @@ Nem okoz teljes
.
.TP
.B vbitrate=<érték>
Bitráta megadása (1/2. lépés) (alapértelmezett: 800).
Bitráta megadása (alapértelmezett: 800).
.br
.I FIGYELMEZTETÉS:
1kbit = 1000 bit
@ -8104,17 +8128,17 @@ probl
.
.TP
.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)
.
.TP
.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)
.
.TP
.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
a VCD-hez, 917-et az SVCD-hez és 1835-at a DVD-hez.
.
@ -8139,19 +8163,19 @@ t
.
.TP
.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
.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
.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
.B vi_qoffset=<\-31.0\-31.0>
(1/2. lépés) (alapértelmezett: 0.0)
(alapértelmezett: 0.0)
.br
ha v{b|i}_qfactor > 0
.br
@ -8187,7 +8211,7 @@ id
.
.TP
.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,
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.
@ -8199,7 +8223,7 @@ A l
.
.TP
.B vrc_eq=<egyenlet>
fő ratecontrol egyenlet (1/2. lépés)
fő ratecontrol egyenlet
.RE
.RSs
.IPs "1\ \ \ \ "
@ -8272,7 +8296,7 @@ maximum / minimum
.
.TP
.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>,
<záró-kocka>, <minőség>[/...]]:
.PD 0
@ -8294,7 +8318,7 @@ kezdeti buffer felt
.
.TP
.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
.RSs
.IPs 0
@ -9057,6 +9081,10 @@ FIXME: Ezt m
.B skip_threshold=<0\-1000000>
FIXME: Ezt még dokumentálni kell.
.
.TP
.B "o\ \ \ \ \ \ "
FIXME: nem dokumentált
.
.
.SS nuv (\-nuvopts)
.
@ -10130,6 +10158,27 @@ K
A használható értékek <\-2\-2> (alapértelmezett: 0).
.
.TP
.B aq_mode=<0\-2>
Definiálja, hogy az adaptív kvantálás (AQ) hogyan ossza el a biteket:
.PD 0
.RSs
.IPs 0
letiltva
.IPs 1
Nem mozgatja a biteket a kockák között.
.IPs 2
Mozgatja a biteket a kockák között (alapértelmezett).
.RE
.PD 1
.
.TP
.B aq_strength=<pozitív lebegőpontos szám>
Megadja, hogy az adaptív kvantálás (AQ) mennyire csökkentse a blokkosodást
és az elmosódást a sík és textúrázott területeken (alapértelmezett: 1.0).
A 0.5-ös érték gyenge AQ-t eredményez és kevesebb részlethez, míg az 1.5-ös
erős AQ-t és nagyobb részletességet.
.
.TP
.B cqm=<flat|jvt|<fájlnév>>
Vagy egy előre definiált saját kvantálást használ vagy betölt egy JM formátumú
mátrix fájlt.
@ -10432,8 +10481,12 @@ A folyam tulajdons
Kényszeríti a megadott libavformat demuxer-t.
.
.TP
.B "o\ \ \ \ \ \ "
FIXME: nem dokumentált
.
.TP
.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
adja meg.
.
@ -10501,9 +10554,14 @@ MPEG[12] implement
.
.TP
.B preload=<különbség>
Jelenleg csak az MPEG[12]-nél van értelme: Kezdeti különbség másodpercben
a kimenet referencia időzítője (SCR) és a dekódolási időbélyeg (DTS) között
bármelyik jelenlévő folyamnál (késleltetés demux-ból dekódolásba).
Jelenleg csak az MPEG[12]-nél van értelme: Kezdeti különbség
másodpercben a kimenet referencia időzítője (SCR) és a dekódolási
időbélyeg (DTS) között bármelyik jelenlévő folyamnál
(késleltetés demux-ból dekódolásba).
.
.TP
.B "o\ \ \ \ \ \ "
FIXME: nem dokumentált
.
.
.

View File

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

View File

@ -21,13 +21,14 @@ $ make install
From within the MPlayer source tree run
$ ./configure --disable-dvdread-internal
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
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
post the two sections to mplayer-users.
Notice: Animated menus are working, but still menus and still scenes are not
yet supported. Also, audio and subtitle language selection by means of menus
doesn't work yet. Nonetheless they can be switched as usual at any time during
Notice: Audio and subtitle language selection by means of menus 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
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
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
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.
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
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
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
than zero.
stop
Stop playback.
sub_alignment [value]
Toggle/set subtitle alignment.
0 top alignment

View File

@ -36,8 +36,8 @@ I. BASICS:
0. Get Subversion:
The MPlayer project server runs Subversion 1.2.3. For optimal compatibility
you should use version 1.2.3 or later.
The MPlayer project server runs Subversion 1.4. For optimal compatibility
you should use version 1.4 or later.
1. Checking out the source tree:
@ -305,6 +305,10 @@ II. POLICY / RULES:
- verbosity changes from default (info) level
- changes to "historical" parts of docs and web pages
- 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

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
and disadvantages. Consult <option>mplayer -pphelp</option> and
<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>,
and search the
<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
deinterlace individual fields that it cannot match, however, whereas
<option>pullup</option> will simply drop them. Also, the two filters
have separate detection code, and 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
video and personal taste; feel free to experiment with fine-tuning
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>
and copy it to the <filename class="directory">vidix/dhahelperwin</filename>
directory in your <application>MPlayer</application> source tree.
Open a console and change to that directory. Then type
<screen>gcc -o dhasetup.exe dhasetup.c</screen>
and execute
<screen>dhasetup.exe install</screen>
Open a console and type
<screen>make install-dhahelperwin</screen>
as Administrator. After that you will have to reboot.
</para>

View File

@ -854,15 +854,14 @@ For a Linux 2.6.x version of this driver check out
<procedure>
<title>Installation:</title>
<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>
cd drivers
make<!--
make drivers<!--
--></screen>
</para></step>
<step><para>
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.
Load the driver with
<screen>insmod mga_vid.o</screen>
@ -941,14 +940,13 @@ the following instructions.
<procedure>
<title>Installing the tdfx_vid.o kernel module:</title>
<step><para>
Compile <filename>tdfx_vid.o</filename>:
Compile <filename>drivers/tdfx_vid.o</filename>:
<screen>
cd drivers
make</screen>
make drivers</screen>
</para></step>
<step><para>
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.
Load the driver with
<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
<systemitem class="library">libavcodec</systemitem>.
<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,
à 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
@ -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
/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
<application>MPlayer</application> avec le support
<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">
<title>codecs AMR</title>
<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).
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>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r25308 -->
<!-- synced with r26920 -->
<chapter id="encoding-guide">
<title>L'encodage avec <application>MEncoder</application></title>
@ -143,7 +143,7 @@
</para></listitem>
<listitem><para>
<emphasis role="bold">pulldown PAL 2:2:2:2:2:2:2:2:2:2:2:3</emphasis>:
Toutes les 12 images 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
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.
@ -156,7 +156,7 @@
trames par seconde pour maintenir la vitesse d'affichage NTSC.
</para></listitem>
<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.
</para></listitem>
</itemizedlist>
@ -890,7 +890,7 @@
conserver l'entrelacement, vous devrez vous abstenir de redimensionner.
Sans redimensionner, pour utiliser des dimensions multiples de 16,
il vous faudra recadrer plus petit que l'image. Ne pas recadrer plus grand que l'image
parce que car les bandes noires sont nuisibles à la compression.
parce que les bandes noires sont nuisibles à la compression.
</para>
<para>
@ -938,7 +938,7 @@
devez sélectionner un débit.
Le concept de débit (bitrate) est assez simple.
C'est un nombre (moyen) de bits par seconde qui sera utilisé pour stocker votre film.
Normalement, le débit est mesuré en kilobits (1000 bits) par seconde.
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
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>).
@ -1118,7 +1118,7 @@
l'encodage le plus proche possible du DVD source. Le recadrage est souvent
nécessaire (comme expliqué plus haut), mais évitez de redimensionner l'image.
Bien qu'il soit parfois préférable de réduire la taille de l'image plutôt que d'utiliser
un quantificateur plus élevé, nous voulons éviter tout ceci:souvenez-vous que
un quantificateur plus élevé, nous voulons éviter tout ceci. Souvenez-vous que
nous avons décidé au départ d'échanger des bits pour de la qualité.
</para>
@ -1330,7 +1330,7 @@ Notez l'usage des options <option>ilme</option> et <option>ildct</option>.
<para>
Néanmoins, les nouveaux codecs qui sont en développement peuvent souffrir
de bugs qui n'ont pas encore été repérés et qui peuvent saboter un encodage.
Ce malheureusement parfois le prix à payer pour l'utilisation de
Ceci est malheureusement parfois le prix à payer pour l'utilisation de
technologies de pointe.
</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
différentes options et codecs pour en trouver un qui vous convienne
le mieux.
Le meilleur codec est celui que vous maîtrisez et celui qui vous semble
le plus joli à vous yeux
Le meilleur codec est celui que vous maîtrisez et qui vous semble
le plus joli à vos yeux
<footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'>
<para>Le même encodage peut apparaître différement sur le moniteur de
quelqu'un d'autre ou lorsqu'il est lu par un autre décodeur, donc armez
@ -1689,7 +1689,7 @@ Notez l'usage des options <option>ilme</option> et <option>ildct</option>.
<formalpara>
<title>Une note à propos des nombres</title>
<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 à
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.
@ -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.
Si la vidéo est d'origine en 60000/1001, chaque paire de trames est alors combinée
pour former une image, ce qui donne 30000/1001 images par seconde. Les lecteurs de
DVD de salon lisent alors les 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.
</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.
La meilleure méthode pour faire un bon encodage de DVD ou procéder à des réglages avancés de
<systemitem class="library">libavcodec</systemitem> pour atteindre une qualité optimum sont des
questions en dehors des propos de 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>
<listitem><para>
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
ruine la capacité de compression de l'encodeur, mais <systemitem class="library">libavcodec</systemitem>
possède deux paramètres spécialement définis pour gérer le stockage de la vidéo entrelacée de manière
plus satisfaisante: <option> ildct</option> et <option>ilme</option>. Aussi,
plus satisfaisante: <option>ildct</option> et <option>ilme</option>. Aussi,
l'utilisation de <option>mbd=2</option> est-elle fortement recommandée <link linkend="menc-feat-telecine-footnotes">[2] </link>
car cela encodera les macroblocs non-entrelacés à des endroits où il n'y
a pas de mouvements. Notez que <option>-ofps</option> n'est <emphasis>pas</emphasis> nécessaire ici.
@ -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>
</para></listitem>
<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 G2</application>, mais on n'en est pas encore là. Vous
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;.
<screen>mencoder dvd://1 -oac copy -vf pullup,softskip -ovc lavc -ofps 24000/1001</screen>
</para>
</listitem>
</para></listitem>
<listitem><para>
<option>-vf filmdint</option> est similaire à
<option>-vf pullup</option> : les deux filtres tentent d'appairer deux
demi-trames pour construire une trame complète.
Néanmoins, <option>filmdint</option> desentrelacera les demi-trames
orphelines tandis que <option>pullup</option> les éliminera.
De plus, les deux filtres ont des codes de détection différents et
<option>filmdint</option> peut avoir tendence à faire correspondre les
demi-trames un peu moins souvent.
Le contenu video à traiter et votre sensibilité personnelle fera qu'un
filtre fonctionnera mieux qu'un autre.
Sentez-vous libre d'ajuster les options des filtres si vous rencontrez
des problèmes avec l'un d'eux (consultez le manuel pour plus de
détails).
Pour la plupart des supports vidéo de qualité, les deux filtres
fonctionnent plutôt bien : débuter avec l'un ou l'autre ne fera pas
grande différence.
<screen>
mencoder dvd://1 -oac copy -vf filmdint -ovc lavc -ofps 24000/1001<!--
--></screen>
</para></listitem>
<listitem><para>
Une méthode plus ancienne consiste à, au lieu de téléciner-inverse les passages télécinés,
téléciner les parties non-télécinées
@ -2096,17 +2116,6 @@ Notez l'usage des options <option>ilme</option> et <option>ildct</option>.
</para>
</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>
</sect3>
@ -4923,9 +4932,9 @@ me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300
</sect3>
<sect3 id="menc-feat-vcd-dvd-a-v-sync">
<title>Maintaining A/V sync</title>
<title>Maintient de la synchronisation A/V</title>
<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.
Cela marche plutôt bien lor du multiplexage dans un fichier AVI
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 \
scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
</screen>
</para>
@ -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 \
scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
</screen>
</para>
@ -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 \
scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:\
vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \
vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
</screen>
</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 \
scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:\
vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 \
vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
</screen>
</para>

View File

@ -10,7 +10,7 @@ Veuillez le lire d'abord et revenir ensuite ici pour le reste des détails.
</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>.
Ce n'est pas facile, mais pas vraiment difficile non plus.
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
<filename class="directory">~/.mplayer</filename> ou dans
<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
<filename class="directory">font</filename>. Exemple :
<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.
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
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>
<listitem><para>
<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
fichiers temporaires (<filename>*.log</filename>) avec
une taille de quelques méga-octets, ne les détruisez pas
tout de suite (vous pouvez effacer l'AVI ou redirigez le
tout de suite (vous pouvez effacer l'AVI ou rediriger le
flux vidéo vers <filename>/dev/null</filename>).
Lors de la seconde passe, le fichier de sortie est créé, en
utilisant les données bitrate des fichiers temporaires.

View File

@ -1,22 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r20417 -->
<!-- synced with r26936 -->
<chapter id="ports" xreflabel="Ports">
<title>Ports</title>
<sect1 id="linux">
<title>Linux</title>
<para>
La plateforme principale de développement est Linux sur x86, bien que
<application>MPlayer</application> fonctionne sur de nombreux autres ports
Linux.
Des binaires de <application>MPlayer</application> sont disponibles depuis
de nombreuses sources.
Par contre, <emphasis role="bold">aucun de ces paquets n'est supporté</emphasis>.
de nombreuses sources. Par contre, <emphasis role="bold">aucun de ces paquets n'est supporté</emphasis>.
Rapportez les problèmes à leurs auteurs, pas à nous.
</para>
<!-- ********** -->
<sect2 id="debian">
<title>Paquets Debian</title>
<para>
Pour construire le paquet Debian, lancez la commande suivante dans le
répertoire source de <application>MPlayer</application>:
@ -51,13 +54,15 @@ depuis sa <ulink url="http://www.debian-multimedia.org/">page web</ulink>.
</para>
</sect2>
<!-- ********** -->
<sect2 id="rpm">
<title>Paquets RPM</title>
<para>
Dominik Mierzejewski a créé et maintient des paquets RPM officiels de
<application>MPlayer</application> pour Red Hat et Fedora Core.
Ils sont disponibles sur son
<ulink url="http://rpm.greysector.net/mplayer/">repository</ulink>.
Dominik Mierzejewski maintient les paquets RPM officiels de
<application>MPlayer</application> pour Fedora Core.
Ils sont disponibles sur le <ulink url="http://rpm.greysector.net/mplayer/">dépôt Livna</ulink>.
</para>
<para>
@ -71,8 +76,11 @@ Vous pouvez obtenir des RPMs fonctionnels sur
</para>
</sect2>
<!-- ********** -->
<sect2 id="arm">
<title>ARM</title>
<para>
<application>MPlayer</application> fonctionne sur les PDAs Linux avec un
CPU ARM c-a-d Sharp Zaurus, Compaq Ipaq. La manière
@ -91,8 +99,13 @@ Si vous avez besoin d'une GUI, vous pouvez utiliser xmms-embedded.
</sect2>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="bsd">
<title>*BSD</title>
<para>
<application>MPlayer</application> fonctionne sur toutes les variations
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).
</para>
<!-- ********** -->
<sect2 id="freebsd">
<title>FreeBSD</title>
<para>
Si votre CPU à SSE, recompilez votre noyau avec
"<envar>options CPU_ENABLE_SSE</envar>" (FreeBSD-STABLE ou patches noyau
@ -132,6 +147,7 @@ requis).
<sect2 id="openbsd">
<title>OpenBSD</title>
<para>
À cause des limitations dans les différentes versions de gas (relocation
contre MMX), vous aurez besoin de compiler en deux étapes:
@ -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
<command>gmake</command>.
</para>
<para>
Depuis OpenBSD 3.4 le hack ci-dessus n'est plus nécessaire.
</para>
</sect2>
<!-- ********** -->
<sect2 id="darwin">
<title>Darwin</title>
<para>
Voir la section <link linkend="macos">Mac OS</link>.
</para>
</sect2>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="unix">
<title>Unix Commercial</title>
@ -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.
</para>
<!-- ********** -->
<sect2 id="solaris">
<title>Solaris</title>
<para>
<application>MPlayer</application> devrait fonctionner sous Solaris 2.6
ou supérieur.
@ -188,18 +215,17 @@ installé.
<para><emphasis role="bold">Attention :</emphasis></para>
<itemizedlist>
<listitem><para><emphasis role="bold">mediaLib</emphasis> est
<emphasis role="bold">actuellement désactivé</emphasis> par défaut dans
<application>MPlayer</application>. Les utilisateurs SPARC
<listitem><para>
<emphasis role="bold">mediaLib</emphasis> est
<emphasis role="bold">actuellement désactivé</emphasis> par défaut dans
<application>MPlayer</application> pour cause d'inconsistance. Les utilisateurs SPARC
qui ont construit MPlayer avec le support mediaLib ont reporté une
forte coloration verte sur les vidéo encodées et décodées avec
libavcodec.
Si vous le désirez, vous pouver activer mediaLib avec:
<screen>
$ ./configure --enable-mlib
</screen>
Si vous le désirez, vous pouvez activer mediaLib avec:
<screen>./configure --enable-mlib</screen>
Ceci est à vos risques et périls. Les utilisateurs x86 ne doivent
<emphasis role="bold">pas</emphasis> utiliser mediaLib, cela
<emphasis role="bold">jamais</emphasis> utiliser mediaLib, puisque cela
déteriorerait les performances de MPlayer de manière importante.
</para></listitem>
</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
celui de GNU:
<screen>
% /usr/ccs/bin/make
make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
% /usr/ccs/bin/make
make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
</screen>
</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
a averti Sun de ce problème. Un patch pour Solaris 10 est actuellement en
développement. Plus d'information sont disponibles à l'adresse
suivante :
<ulink
url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>.
</para>
</listitem>
suivante : <ulink url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>.
</para></listitem>
<listitem><para>
A cause de bogues dans Solaris 8, il se peut que vous ne 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:
</para>
@ -324,39 +347,41 @@ Le problème hsfs peut être résolu en installant le patch 109764-04 (sparc)
</itemizedlist>
</sect2>
<!-- ********** -->
<sect2 id="irix">
<title>IRIX</title>
<para>
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
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>
Soit vous pouvez utilisez l'installation par défaut livrée avec IRIX 6.5,
auquel cas vous devrez éditer le <filename>Makefile</filename>
manuellement.
Changez les deux lignes suivantes:
Changez la ligne suivante :
<programlisting>
$(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
$(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
</programlisting>
par:
<programlisting>
$(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
$(INSTALL) -m 644 codecs.conf $(CONFDIR)/
</programlisting>
Et ensuite faites (depuis le rép. source de <application>MPlayer</application>):
<screen>cp DOCS/mplayer.1 . ; cp etc/codecs.conf .</screen>
finalement lancez la construction et l'installation.
Finalement, lancez la construction et l'installation.
</para>
</sect2>
<!-- ********** -->
<sect2 id="hp-ux">
<title>HP UX</title>
<para>
Joe Page héberge un
<ulink url="http://users.rcn.com/joepage/mplayer_on_hpux11.htm">HOWTO</ulink>
@ -373,13 +398,12 @@ GCC sont boguées.
Pour la fonctionnalité OpenGL vous aurez besoin d'installer Mesa et les
pilotes de sortie vidéo gl et gl2 devraient marcher, la vitesse pouvant en
être très affecté, dépendamment de la vitesse du CPU.
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>
Créer le périphérique DVD
scanne le bus SCSI avec:
</para>
<screen>
# ioscan -fn
@ -397,29 +421,19 @@ ctl <emphasis role="bold">1</emphasis> 8/16/5.7.0 sctl CLAIMED DEVICE
...
</screen>
<para>
La sortie d'écran montre un lecteur DVD-ROM Pioneer à l'adresse SCSI 2.
L'instance de la carte pour le chemin hardware 8/16 est 1.
</para>
<para>
Créer un lien depuis le prériphérique brut vers le périphérique DVD.
</para>
<screen>
# 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>
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>
</screen>
<para>
Exemple:
<screen>ln -s /dev/rdsk/c1t2d0 /dev/dvd</screen>
</para>
<screen>
# ln -s /dev/rdsk/c1t2d0 /dev/dvd
</screen>
<para>
Ci-dessous sont exposées les solutions pour certains problèmes communs:
</para>
@ -484,8 +498,11 @@ suffisante ou non.)
</sect2>
<!-- ********** -->
<sect2 id="aix">
<title>AIX</title>
<para>
<application>MPlayer</application> se compile parfaitement sous AIX 5.1,
5.2 et 5.3, en utilisant GCC 3.3 ou plus.
@ -516,12 +533,12 @@ Les architectures suivantes ont été testé:
<para>
Les architectures suivantes n'ont pas été testé, mais devraient quand
même marcher:
</para>
<itemizedlist>
<listitem><para>POWER</para></listitem>
<listitem><para>POWER2</para></listitem>
<listitem><para>POWER5</para></listitem>
</itemizedlist>
</para>
<para>
Le son à travers les Services Ultimedia n'est pas supporté, comme Ultimedia a
@ -537,10 +554,9 @@ role="bold">MPlayer ne produit pas de son sous AIX 5.2 et 5.3.</emphasis>
<itemizedlist>
<listitem>
<para>
Si vous rencontrez ce message d'erreur de
<filename>configure</filename> :
Si vous rencontrez ce message d'erreur de <filename>configure</filename> :
<screen>
$./configure
$ ./configure
...
Checking for iconv program ... no
No working iconv program found, use
@ -560,6 +576,10 @@ $ ./configure --charset=noconv
</sect2>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="windows">
<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
avoir DirectX 7 ou supérieur pour que ce pilote fonctionne.</para>
<para><link linkend="vidix">VIDIX</link> fonctionne maintenant sous Windows
avec <option>-vo winvidix</option>, bien que ce soit toujours expérimental
et que cela requiert une configuration manuelle. Téléchargez
<para>
<link linkend="vidix">VIDIX</link> fonctionne maintenant sous Windows avec
<option>-vo winvidix</option>, bien que ce soit toujours expérimental
et que cela requiert une configuration manuelle. Téléchargez
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> ou
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (avec support des MTRR)</ulink>
et copiez le dans le répertoire
<filename class="directory">libdha/dhahelperwin</filename> de votre arborescence
<application>MPlayer</application>.
Ouvrez une console et placez-vous dans ce répertoire. Ensuite tapez
<screen>gcc -o dhasetup.exe dhasetup.c</screen>
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>
Ouvrez une console et tapez
<screen>make install-dhahelperwin</screen>
en tant qu'Administrateur. Ensuite vous devez rebooter.
</para>
<para>Pour de meilleurs résultats <application>MPlayer</application> devrait
utiliser une palette que votre carte graphique supporte de façon matérielle.
Malheureusement, de nombreux pilotes graphiques Windows renvoient certaines
palettes alors que la carte ne le supporte pas. Pour le vérifier, essayez
<screen>mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>palette</replaceable> <replaceable>film</replaceable></screen>
utiliser une palette que votre carte graphique supporte de façon matérielle.
Malheureusement, de nombreux pilotes graphiques Windows renvoient certaines palettes alors que la carte ne le supporte pas. Pour le vérifier, essayez
<screen>
mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>palette</replaceable> <replaceable>film</replaceable>
</screen>
<replaceable>palette</replaceable> peut être n'importe quelle palette
affichée par l'option <option>-vf format=fmt=help</option>. Si vous
trouvez une palette que votre carte gère particulièrement mal,
<option>-vf noformat=<replaceable>palette</replaceable></option>
l'empèchera d'être utilisée. Ajouter cela à votre fichier de conf pour
ne plus l'utiliser de façon permanente.</para>
<para>
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>
ne plus l'utiliser de façon permanente.
</para>
<para>
Il y a des paquetages de codec spécial pour Windows disponible sur notre
<ulink url="http://www.mplayerhq.hu/design7/codecs.html">page de codecs</ulink>
pour permettre de jouer les formats qui ne sont pas encore nativement
supportés.
Placez les codecs quelque part dans votre patch ou passez
Placez les codecs quelque part dans votre path ou passez
<option>--codecsdir=<replaceable>c:/chemin/de/vos/codecs</replaceable></option>
(éventuellement
<option>--codecsdir=<replaceable>/chemin/de/vos/codecs</replaceable></option>
@ -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.
</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
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>
<para>Les DVDs fonctionnent également, ajustez <option>-dvd-device</option>
à la lettre de votre lecteur DVD-ROM:</para>
Vous pouvez aussi lire une piste VCD directement en utilisant :
<screen> mplayer vcd://<replaceable>&lt;track&gt;</replaceable> -cdrom-device <replaceable>d:</replaceable></screen>
Les DVDs fonctionnent également, ajustez <option>-dvd-device</option> à la lettre de votre lecteur DVD-ROM :
<screen>mplayer dvd://<replaceable>&lt;titre&gt;</replaceable> -dvd-device <replaceable>d</replaceable>:</screen>
<para>La console <application>Cygwin</application>/<application>MinGW</application>
est plutôt lente. Il semble que rediriger la sortie
ou utiliser l'option <option>-quiet</option> améliore les performances. Le
rendu direct (<option>-dr</option>) peut également aider.
Si la lecture est erratique, essayez
<option>-autosync 100</option>. Si certaines de ces options vous sont utiles,
vous pouvez les placer dans votre fichier de config.</para>
<note>
<para>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.
La console <application>Cygwin</application>/<application>MinGW</application>
est plutôt lente. Il semble que rediriger la sortie ou utiliser l'option
<option>-quiet</option> améliore les performances. Le rendu direct
(<option>-dr</option>) peut également aider. Si la lecture est erratique,
essayez <option>-autosync 100</option>. Si certaines de ces options vous sont
utiles, vous pouvez les placer dans votre fichier de config.
</para>
<note>
<para>Si vous avez un Pentium 4 et que vous expériencez un plantage lors de l'utilisation
des codecs RealPlayer vous pourriez vouloir désactiver le support hyperthreading.
</para>
</note>
<!-- ********** -->
<sect2 id="cygwin">
<title><application>Cygwin</application></title>
@ -722,6 +711,7 @@ peuvent être trouvés sur le
</sect2>
<!-- ********** -->
<sect2 id="mingw">
<title><application>MinGW</application></title>
@ -747,10 +737,12 @@ et les librairies nécessaires sont disponibles sur
MinGW HOWTO</ulink>.</para>
</sect2>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="macos">
<title>Mac OS</title>
@ -809,8 +801,12 @@ Vous pouvez ensuite lancer le script
avec MacPorts):
<screen>PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure</screen>
</para>
<!-- ********** -->
<sect2 id="osx_gui">
<title>MPlayer OS X GUI</title>
<para>
Vous pouvez obtenir un GUI natif et un binaire pré-compilé de
<application>MPlayer</application> pour Mac OS X depuis le projet
@ -852,37 +848,33 @@ mettre en place quelque chose comme ceci:
<screen>
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>
Premièrement vous avez besoin de compiler main et main_noaltivec.
</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>
</para>
<para>
Et, configure:
Et, configurez:
</para>
<para>
Si vous configurez pour un CPU G4 ou au-dessus avec le support AltiVec,
faire comme suit:
Si vous configurez pour un CPU G4 (ou plus récent) avec le support AltiVec,
faites comme suit :
<screen>
./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11
./configure --disable-gl --disable-x11
</screen>
Si vous configurez pour un G3, faire comme suit:
Si vous configurez pour un G3 sans le support AltiVec, faites comme suit :
<screen>
./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11
--disable-altivec
./configure --disable-gl --disable-x11 --disable-altivec
</screen>
Vous pourriez avoir besoin d'éditer <filename>config.mak</filename> et
changer le
@ -892,14 +884,9 @@ changer le
<para>
Continuez avec
<screen>
make
</screen>
<screen>make</screen>
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
prêt à l'emploi.
</para>
@ -912,6 +899,10 @@ du tout en fonction.
</sect2>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="exotic_platforms">
<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.
</para>
<!-- ********** -->
<sect2 id="qnx">
<title>QNX</title>
<para>
Vous aurez besoin de télécharger et installer SDL pour QNX. Puis de lancer
<application>MPlayer</application> avec les options <option>-vo sdl:driver=photon</option> et
@ -938,6 +932,8 @@ très lente.
</para>
</sect2>
<!-- ********** -->
<sect2 id="amiga">
<title>Amiga/MorphOS (GeekGadgets)</title>
<para>

View File

@ -8,11 +8,11 @@
<para>
<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>
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
<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">
<title>Sauvegarder du contenu flux</title>
<para>
Une fois que vous avez réussi à faire <application>MPlayer</application> lire
votre flux internet favorit, vous pouvez utiliser l'option
Une fois que vous avez réussi à faire lire
votre flux internet favorit par <application>MPlayer</application>, vous pouvez utiliser l'option
<option>-dumpstream</option> pour sauvegarder le flux dans un fichier.
Par exemple:
<screen>
@ -579,15 +579,15 @@ explication.
Les DVDs ont habituellement l'audio surround encodé en format AC-3 (Dolby Digital) ou DTS
(Digital Theater System). Certains équipements audio moderne sont capables de
décoder ces formats de façon interne. <application>MPlayer</application> peut être
configuré pour relayer les données audio sans le décodé. Cela ne marchera que si
vous avez you have une connectique S/PDIF (Sony/Philips Digital Interface) sur
configuré pour relayer les données audio sans les décoder. Cela ne marchera que si
vous avez une connectique S/PDIF (Sony/Philips Digital Interface) sur
votre carte son.
</para>
<para>
Si votre équipement audio peux décoder AC-3 et DTS, vous pouvez sans risque activer
le passthrough pour les deux formats. Autrement, activez le passthrough pour le seul format
votre équipement supporte.
que votre équipement supporte.
</para>
<itemizedlist>
@ -853,11 +853,11 @@ trouver la bonne valeur. Par exemple:
<sect3 id="advaudio-channels-copying">
<title>Copié/Déplacé le canal</title>
<title>Copier/Déplacer le canal</title>
<para>
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.
<orderedlist spacing="compact">

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r26711 -->
<!-- synced with r26925 -->
<chapter id="encoding-guide">
<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.
Lásd az <option>mplayer -pphelp</option> és az
<option>mplayer -vf help</option> kimenetét, hogy megtudd, mit
használhatsz (grep-pelj a "deint"-re), olvasd el Michael'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>,
és keress az
<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r25771 -->
<!-- synced with r26936 -->
<chapter id="ports" xreflabel="Ports">
<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/withmtrr/dhahelper.sys">dhahelper.sys (MTRR támogatással)</ulink>
fájlt és másold be a <filename class="directory">vidix/dhahelperwin</filename> könyvtárba
az <application>MPlayer</application> forrás fádban. Nyisd meg a konzolt
és válts át erre a könyvtárra, majd írd be
<screen>gcc -o dhasetup.exe dhasetup.c</screen>
és futtasd
<screen>dhasetup.exe install</screen>
Adminisztrátorként. Ezután újra kell indítanod a gépet.
az <application>MPlayer</application> forrás fádban.
Nyisd meg a konzolt és írd be:
<screen>make install-dhahelperwin</screen>
adminisztrátorként. Ezután újra kell indítanod a gépet.
</para>
<para>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r26073 -->
<!-- synced with r26914 -->
<chapter id="video">
<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>
<title>Telepítés:</title>
<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>
cd drivers
make<!--
make drivers<!--
--></screen>
</para></step>
<step><para>
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.
Töltsd be a vezérlőt
<screen>insmod mga_vid.o</screen>
@ -950,14 +949,13 @@ az alábbi utasítások alapján.
<procedure>
<title>A tdfx_vid.o kernel modul telepítése:</title>
<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>
cd drivers
make</screen>
make drivers</screen>
</para></step>
<step><para>
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.
Töltsd be a vezérlőt
<screen>insmod tdfx_vid.o</screen>

View File

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

View File

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

View File

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

View File

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

239
Makefile
View File

@ -512,9 +512,10 @@ SRCS_MPLAYER = mplayer.c \
libvo/vo_yuv4mpeg.c \
$(addprefix libvo/,$(VO_SRCS)) \
SRCS_MPLAYER-$(APPLE_IR) += input/appleir.c
SRCS_MPLAYER-$(APPLE_REMOTE) += input/ar.c
SRCS_MPLAYER-$(GUI) += gui/bitmap.c
SRCS_MPLAYER-$(GUI_GTK) += gui/app.c \
gui/bitmap.c \
gui/cfg.c \
gui/interface.c \
gui/mplayer/gui_common.c \
@ -540,8 +541,7 @@ SRCS_MPLAYER-$(GUI_GTK) += gui/app.c \
gui/wm/ws.c \
gui/wm/wsxdnd.c \
SRCS_MPLAYER-$(GUI_WIN32) += gui/bitmap.c \
gui/win32/dialogs.c \
SRCS_MPLAYER-$(GUI_WIN32) += gui/win32/dialogs.c \
gui/win32/gui.c \
gui/win32/interface.c \
gui/win32/playlist.c \
@ -637,12 +637,10 @@ MENCODER_DEPS = $(OBJS_MENCODER) $(OBJS_COMMON) $(COMMON_LIBS)
ALL_PRG-$(MPLAYER) += mplayer$(EXESUF)
ALL_PRG-$(MENCODER) += mencoder$(EXESUF)
ALL_PRG += $(ALL_PRG-yes)
INSTALL_TARGETS-$(MPLAYER) += install-mplayer install-mplayer-man
INSTALL_TARGETS-$(MENCODER) += install-mencoder install-mplayer-man
INSTALL_TARGETS-$(GUI_GTK) += install-gui
INSTALL_TARGETS += $(INSTALL_TARGETS-yes)
INSTALL_TARGETS-$(MENCODER) += install-mencoder install-mencoder-man
INSTALL_TARGETS-$(GUI) += install-gui
DIRS = . \
dvdread \
@ -701,7 +699,7 @@ PARTS = ffmpeg/libavcodec \
###### generic rules #######
all: $(ALL_PRG)
all: $(ALL_PRG-yes)
%.d: %.c
$(MPDEPEND_CMD) > $@
@ -724,12 +722,10 @@ checkheaders: $(ALLHEADERS:.h=.ho)
dep depend: $(DEPS)
for part in $(PARTS); do $(MAKE) -C $$part depend; done
define RECURSIVE_RULE
$(part)/$(notdir $(part)).a: recurse
$(MAKE) -C $(part)
endef
ALLPARTLIBS = $(foreach part, $(PARTS), $(part)/$(notdir $(part)).a)
$(foreach part,$(PARTS),$(eval $(RECURSIVE_RULE)))
$(ALLPARTLIBS): recurse
$(MAKE) -C $(@D)
mplayer$(EXESUF): $(MPLAYER_DEPS)
$(CC) -o $@ $^ $(LDFLAGS_MPLAYER)
@ -738,26 +734,20 @@ mencoder$(EXESUF): $(MENCODER_DEPS)
$(CC) -o $@ $^ $(LDFLAGS_MENCODER)
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
./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
config.mak: configure
@echo "############################################################"
@echo "####### Please run ./configure again - it's changed! #######"
@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
ifeq ($(wildcard .svn/entries),.svn/entries)
version.h: .svn/entries
@ -765,22 +755,8 @@ endif
version.h:
./version.sh `$(CC) -dumpversion`
help_mp.h: help/help_mp-en.h $(HELP_FILE)
@echo '// WARNING! This is a generated file. Do NOT edit.' > help_mp.h
@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
osdep/mplayer-rc.o: osdep/mplayer.rc version.h
$(WINDRES) -I. -o $@ $<
@ -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) -d $(BINDIR)
$(INSTALL) -d $(DATADIR)
$(INSTALL) -d $(BINDIR) $(CONFDIR)
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 $(CONFDIR)
if test -f $(CONFDIR)/codecs.conf ; then mv -f $(CONFDIR)/codecs.conf $(CONFDIR)/codecs.conf.old ; fi
$(INSTALL) -c -m 644 DOCS/man/en/mplayer.1 $(MANDIR)/man1/
install-mplayer: mplayer$(EXESUF)
$(INSTALL) -m 755 $(INSTALLSTRIP) mplayer$(EXESUF) $(BINDIR)
install-mencoder-man-en: install-mplayer-man-en
cd $(MANDIR)/man1 && ln -sf mplayer.1 mencoder.1
install-mplayer-man:
for lang in $(MAN_LANG); do \
if test "$$lang" = en ; then \
$(INSTALL) -c -m 644 DOCS/man/en/mplayer.1 $(MANDIR)/man1/ ; \
else \
$(INSTALL) -d $(MANDIR)/$$lang/man1 ; \
$(INSTALL) -c -m 644 DOCS/man/$$lang/mplayer.1 $(MANDIR)/$$lang/man1/ ; \
fi ; \
done
define MPLAYER_MAN_RULE
install-mplayer-man-$(lang):
$(INSTALL) -d $(MANDIR)/$(lang)/man1
$(INSTALL) -c -m 644 DOCS/man/$(lang)/mplayer.1 $(MANDIR)/$(lang)/man1/
endef
install-mencoder: mencoder$(EXESUF)
$(INSTALL) -m 755 $(INSTALLSTRIP) mencoder$(EXESUF) $(BINDIR)
for lang in $(MAN_LANG); do \
if test "$$lang" = en ; then \
cd $(MANDIR)/man1 && ln -sf mplayer.1 mencoder.1 ; \
else \
cd $(MANDIR)/$$lang/man1 && ln -sf mplayer.1 mencoder.1 ; \
fi ; \
done
define MENCODER_MAN_RULE
install-mencoder-man-$(lang): install-mplayer-man-$(lang)
cd $(MANDIR)/$(lang)/man1 && ln -sf mplayer.1 mencoder.1
endef
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)
$(INSTALL) -d $(DATADIR)/skins
@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) -d $(DATADIR)/skins $(prefix)/share/pixmaps $(prefix)/share/applications
$(INSTALL) -m 644 etc/mplayer.xpm $(prefix)/share/pixmaps/
$(INSTALL) -d $(prefix)/share/applications
$(INSTALL) -m 644 etc/mplayer.desktop $(prefix)/share/applications/
uninstall:
-rm -f $(BINDIR)/mplayer$(EXESUF) $(BINDIR)/gmplayer$(EXESUF)
-rm -f $(BINDIR)/mencoder$(EXESUF)
-rm -f $(MANDIR)/man1/mencoder.1 $(MANDIR)/man1/mplayer.1
-rm -f $(prefix)/share/pixmaps/mplayer.xpm
-rm -f $(prefix)/share/applications/mplayer.desktop
for lang in $(MAN_LANG); do \
if test "$$lang" != "en"; then \
rm -f $(MANDIR)/$$lang/man1/mplayer.1 \
$(MANDIR)/$$lang/man1/mencoder.1 \
$(MANDIR)/$$lang/man1/gmplayer.1 ; \
fi ; \
done
rm -f $(BINDIR)/mplayer$(EXESUF) $(BINDIR)/gmplayer$(EXESUF)
rm -f $(BINDIR)/mencoder$(EXESUF)
rm -f $(MANDIR)/man1/mencoder.1 $(MANDIR)/man1/mplayer.1
rm -f $(prefix)/share/pixmaps/mplayer.xpm
rm -f $(prefix)/share/applications/mplayer.desktop
rm -f $(MANDIR)/man1/mplayer.1 $(MANDIR)/man1/mencoder.1
rm -f $(foreach lang,$(MAN_LANG),$(foreach man,mplayer.1 mencoder.1,$(MANDIR)/$(lang)/man1/$(man)))
clean:
rm -f $(foreach dir,$(DIRS),$(foreach suffix,/*.o /*.a /*.ho /*~, $(addsuffix $(suffix),$(dir))))
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 configure.log config.mak config.h codecs.conf.h help_mp.h \
version.h $(VIDIX_PCI_FILES) \
codec-cfg$(EXESUF) codecs2html$(EXESUF) codec-cfg-test$(EXESUF) \
cpuinfo$(EXESUF) TAGS tags
codec-cfg$(EXESUF) cpuinfo$(EXESUF) TAGS tags
doxygen:
doxygen DOCS/tech/Doxyfile
doxygen_clean:
-rm -rf DOCS/tech/doxygen
strip:
strip -s $(ALL_PRG)
TAGS:
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
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))
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/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) \
mp3lib/test$(EXESUF) mp3lib/test2$(EXESUF)
@ -947,6 +916,9 @@ ALLTOOLS = $(TOOLS) \
tools: $(TOOLS)
alltools: $(ALLTOOLS)
toolsclean:
rm -f $(ALLTOOLS) TOOLS/fastmem*-* TOOLS/realcodecs/*.so.6.0
TOOLS/bmovl-test$(EXESUF): TOOLS/bmovl-test.c -lSDL_image
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)
$(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)
.PHONY: all doxygen *install* recurse strip *tools
.PHONY: all doxygen *install* recurse *tools drivers dhahelper*
.PHONY: checkheaders *clean dep depend tests

View File

@ -34,7 +34,7 @@ static int mga_init(){
if(f == -1)
{
fprintf(stderr,"Couldn't open /dev/mga_vid\n");
return(-1);
return -1;
}
mga_vid_config.num_frames=1;
@ -80,7 +80,7 @@ static unsigned int GetTimer(){
// float s;
gettimeofday(&tv,&tz);
// 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 )

View File

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

View File

@ -310,7 +310,7 @@ const m_option_t mplayer_opts[]={
// a-v sync stuff:
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},
{"autosync", &autosync, CONF_TYPE_INT, CONF_RANGE, 0, 10000, NULL},
// {"dapsync", &dapsync, CONF_TYPE_FLAG, 0, 0, 1, NULL},

View File

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

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 (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,
@ -2629,6 +2629,11 @@ int run_command(MPContext *mpctx, mp_cmd_t *cmd)
}
break;
case MP_CMD_STOP:
mpctx->eof = PT_STOP;
brk_cmd = 1;
break;
#ifdef USE_RADIO
case MP_CMD_RADIO_STEP_CHANNEL:
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-joystick enable joystick support [disable]
--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-xf86keysym disable support for multimedia keys [autodetect]
--enable-radio enable radio interface [disable]
@ -285,8 +286,8 @@ Codecs:
--disable-qtx disable QuickTime codecs support [enabled]
--disable-xanim disable XAnim codecs support [enabled]
--disable-real disable RealPlayer codecs support [enabled]
--disable-xvid disable XviD [autodetect]
--disable-xvid-lavc disable XviD in libavcodec [autodetect]
--disable-xvid disable Xvid [autodetect]
--disable-xvid-lavc disable Xvid in libavcodec [autodetect]
--disable-x264 disable x264 [autodetect]
--disable-x264-lavc disable x264 in libavcodec [autodetect]
--disable-libnut disable libnut [autodetect]
@ -630,6 +631,7 @@ _libnut=auto
_lirc=auto
_lircc=auto
_apple_remote=auto
_apple_ir=auto
_gui=no
_gtk1=no
_termcap=auto
@ -1073,6 +1075,8 @@ for ac_option do
--disable-lircc) _lircc=no ;;
--enable-apple-remote) _apple_remote=yes ;;
--disable-apple-remote) _apple_remote=no ;;
--enable-apple-ir) _apple_ir=yes ;;
--disable-apple-ir) _apple_ir=no ;;
--enable-gui) _gui=yes ;;
--disable-gui) _gui=no ;;
--enable-gtk1) _gtk1=yes ;;
@ -1565,7 +1569,7 @@ if x86 && test "$_runtime_cpudetection" = no ; then
void catch() { exit(1); }
int main(void) {
signal(SIGILL, catch);
__asm__ __volatile__ ("$3":::"memory");return(0);
__asm__ __volatile__ ("$3":::"memory"); return 0;
}
EOF
@ -2411,30 +2415,46 @@ echores $_asmalign_pot
#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
echocheck "GCC AltiVec flags"
cat > $TMPC << EOF
int main(void) { return 0; }
EOF
cc_check -maltivec -mabi=altivec \
&& _altivec_gcc_flags="-maltivec -mabi=altivec" \
|| cc_check -faltivec && _altivec_gcc_flags=-faltivec \
|| _altivec=no
echores "$_altivec_gcc_flags"
if $(cc_check -maltivec -mabi=altivec) ; then
_altivec_gcc_flags="-maltivec -mabi=altivec"
# check if <altivec.h> should be included
echocheck "altivec.h"
_def_altivec_h='#undef HAVE_ALTIVEC_H'
_have_altivec_h=no
cat > $TMPC << EOF
#include <altivec.h>
int main(void) { return 0; }
EOF
cc_check $_altivec_gcc_flags && _have_altivec_h=yes \
&& _def_altivec_h='#define HAVE_ALTIVEC_H 1'
echores "$_have_altivec_h"
if $(cc_check $_altivec_gcc_flags) ; then
_def_altivec_h='#define HAVE_ALTIVEC_H 1'
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
# 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"
for lang in $LANGUAGES ; do
if test -f "DOCS/man/$lang/mplayer.1" ; then
MAN_LANG="$lang $MAN_LANG"
MAN_LANG_ALL="$lang $MAN_LANG_ALL"
fi
done
MAN_LANG="$(echo $MAN_LANG_ALL | sed 's/en//')"
_doc_lang=$_language
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"
@ -3604,6 +3625,28 @@ echores "$_apple_remote"
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"
_pkg_config=pkg-config
@ -4512,7 +4555,7 @@ cat > $TMPC << EOF
int main(void) {
printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
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
if cc_check -lpng -lz $_ld_lm ; then
@ -5324,26 +5367,22 @@ elif test "$_dvdread" = auto ; then
if test "$_dl" = yes; then
cat > $TMPC << EOF
#include <inttypes.h>
#include <dvdread/dvd_reader.h>
#include <dvdread/ifo_types.h>
#include <dvdread/ifo_read.h>
#include <dvdread/nav_read.h>
#include <libdvdread/dvd_reader.h>
#include <libdvdread/ifo_types.h>
#include <libdvdread/ifo_read.h>
#include <libdvdread/nav_read.h>
int main(void) { return 0; }
EOF
cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
-ldvdread $_ld_dl && _dvdread=yes && _res_comment="external"
fi
if test "$_dvdread" = no ; then
_dvdreadconfig="dvdread-config"
_dvdreadcflags=`$_dvdreadconfig --cflags`
_dvdreadlibs=`$_dvdreadconfig --libs`
if cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
$_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
_dvdread=yes
_inc_extra="$_inc_extra $_dvdreadcflags"
_ld_extra="$_ld_extra $_dvdreadlibs"
_res_comment="external"
fi
_dvdreadconfig="dvdread-config"
_dvdreadcflags=`$_dvdreadconfig --cflags`
_dvdreadlibs=`$_dvdreadconfig --libs`
if cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
$_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
_dvdread=yes
_inc_extra="$_inc_extra $_dvdreadcflags"
_ld_extra="$_ld_extra $_dvdreadlibs"
_res_comment="external"
fi
fi
@ -6506,7 +6545,7 @@ fi
echores "$_libdv"
echocheck "XviD"
echocheck "Xvid"
if test "$_xvid" = auto ; then
_xvid=no
cat > $TMPC << EOF
@ -6527,7 +6566,7 @@ else
fi
echores "$_xvid"
echocheck "XviD two pass plugin"
echocheck "Xvid two pass plugin"
if test "$_xvid" = yes && test "$_xvid_lavc" = auto ; then
cat > $TMPC << EOF
#include <xvid.h>
@ -7304,12 +7343,7 @@ else
_def_charset="#undef MSG_CHARSET"
fi
if test "$_charset" = "UTF-8" ; then
# hack to disable conversion in the Makefile
_charset=""
fi
if test "$_charset" ; then
if test "$_charset" != "UTF-8" ; then
echocheck "iconv program"
iconv -f UTF-8 -t $_charset ${_mp_help} > /dev/null 2>> "$TMPLOG"
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)
echocheck "DVD support (libdvdnav)"
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
if test "$_dvdnav" = auto ; then
cat > $TMPC <<EOF
@ -7540,9 +7579,12 @@ echo "Creating config.mak"
cat > config.mak << EOF
# -------- Generated by configure -----------
LANG = C
# Ensure that locale settings do not interfere with shell commands.
LC_ALL = C
MAN_LANG = $MAN_LANG
TARGET_OS = $system_name
MAN_LANG_ALL = $MAN_LANG_ALL
DESTDIR =
prefix = \$(DESTDIR)$_prefix
BINDIR = \$(DESTDIR)$_bindir
@ -7550,8 +7592,7 @@ DATADIR = \$(DESTDIR)$_datadir
MANDIR = \$(DESTDIR)$_mandir
CONFDIR = \$(DESTDIR)$_confdir
LIBDIR = \$(DESTDIR)$_libdir
# FFmpeg uses libdir instead of LIBDIR
libdir = \$(LIBDIR)
AR = $_ar
CC = $_cc
CXX = $_cc
@ -7559,6 +7600,8 @@ HOST_CC = $_host_cc
RANLIB = $_ranlib
WINDRES = $_windres
INSTALL = $_install
INSTALLSTRIP = $_install_strip
EXTRA_INC = $_inc_extra
EXTRAXX_INC = $_inc_extra $_inc_extraxx
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
CXXFLAGS = $CXXFLAGS \$(EXTRAXX_INC)
CFLAG_STACKREALIGN = $_stackrealign
LIBDVDCSS_DVDREAD_FLAGS = $_libdvdcss_dvdread_flags
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
EXTRA_LIB = $_ld_extra $_ld_static $_ld_lm
EXTRALIBS_MPLAYER = $_libs_mplayer
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_POSIX_SELECT = $_posix_select
@ -7623,76 +7655,84 @@ NEED_STRSEP = $_need_strsep
NEED_SWAB = $_need_swab
NEED_VSSCANF = $_need_vsscanf
GETCH = $_getch
TIMER = $_timer
PE_EXECUTABLE = $_pe_executable
# audio output
OSS = $_ossaudio
ALSA = $_alsa
ALSA5 = $_alsa5
ALSA9 = $_alsa9
ALSA1X = $_alsa1x
LADSPA = $_ladspa
# input/demuxer/codecs
JOYSTICK = $_joystick
LIRC = $_lirc
# features
APPLE_IR = $_apple_ir
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
PVR = $_pvr
VCD = $_vcd
BITMAP_FONT = $_bitmap_font
CDDA = $_cdda
CDDB = $_cddb
COREAUDIO = $_coreaudio
COREVIDEO = $_corevideo
DVBIN = $_dvbin
DVDNAV = $_dvdnav
DVDREAD = $_dvdread
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_DVDREAD_FLAGS = $_libdvdcss_dvdread_flags
DVDNAV = $_dvdnav
WIN32DLL = $_win32dll
WIN32_EMULATION = $_win32_emulation
LIBLZO = $_liblzo
LIBMAD = $_mad
LIBMENU = $_menu
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_WIN32 = $_qtx_codecs_win32
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
TOOLAME=$_toolame
TWOLAME=$_twolame
FAAC=$_faac
RADIO=$_radio
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_IVTV=$_vidix_drv_ivtv
VIDIX_MACH64=$_vidix_drv_mach64
@ -7706,22 +7746,14 @@ VIDIX_RAGE128=$_vidix_drv_rage128
VIDIX_S3=$_vidix_drv_s3
VIDIX_SIS=$_vidix_drv_sis
VIDIX_UNICHROME=$_vidix_drv_unichrome
# --- Some stuff for autoconfigure ----
$_target_arch
$_target_arch_x86
TARGET_CPU=$iproc
`echo $_cpuexts | tr '[a-z] ' '[A-Z]\n' | sed 's/^/HAVE_/;s/$/=yes/'`
# --- GUI stuff ---
GUI_GTK = $_gui_gtk
GUI_WIN32 = $_gui_win32
# --- libvo stuff ---
VO_SRCS = $_vosrc
# --- libao2 stuff ---
AO_SRCS = $_aosrc
VSTREAM = $_vstream
WIN32DLL = $_win32dll
WIN32_EMULATION = $_win32_emulation
X264 = $_x264
XANIM_CODECS = $_xanim
XMMS_PLUGINS = $_xmms
XVID4 = $_xvid
ZORAN = $_zr
# FFmpeg
LIBAVUTIL = $_libavutil
@ -7756,6 +7788,7 @@ CONFIG_LIBVORBIS=$_libvorbis
CONFIG_LIBX264=$_x264_lavc
CONFIG_LIBXVID=$_xvid_lavc
CONFIG_MLIB = $_mlib
CONFIG_POSTPROC = yes
# Prevent building libavcodec/imgresample.c with conflicting symbols
CONFIG_SWSCALE=yes
CONFIG_ZLIB=$_zlib
@ -7912,7 +7945,7 @@ $_def_hpux_scsi_h
-cache <kilobytes> */
$_def_stream_cache
/* Define if you are using XviD library */
/* Define if you are using Xvid library */
$_def_xvid
/* 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: */
$_def_apple_remote
/* Apple IR Remote (Linux remote control driver) */
$_def_apple_ir
/* Support for maemo (http://www.maemo.org) */
$_def_maemo
@ -8461,6 +8497,7 @@ $_def_gethostbyname2
`ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE"`
$_def_altivec_h // enables usage of altivec.h
$_def_altivec_vector_braces
/* libvo options */
#define SCREEN_SIZE_X 1
@ -8544,7 +8581,7 @@ Config files successfully generated by ./configure $_configuration !
Messages/GUI: $_language
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}"
echo

View File

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

View File

@ -1,4 +1,6 @@
#include <stddef.h>
#include "config.h"
#include "defaultopts.h"
#include "options.h"
@ -39,7 +41,11 @@ void set_default_mplayer_options(struct MPOpts *opts)
.use_joystick = 1,
.use_lirc = 1,
.use_lircc = 1,
#ifdef HAVE_APPLE_REMOTE
.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)))
{
printk(KERN_ERR "mga_vid: failed copy from userspace\n");
return(-EFAULT);
return -EFAULT;
}
if(card->config.version != MGA_VID_VERSION){
printk(KERN_ERR "mga_vid: incompatible version! driver: %X requested: %X\n",MGA_VID_VERSION,card->config.version);
return(-EFAULT);
return -EFAULT;
}
if(card->config.frame_size==0 || card->config.frame_size>1024*768*2){
printk(KERN_ERR "mga_vid: illegal frame_size: %d\n",card->config.frame_size);
return(-EFAULT);
return -EFAULT;
}
if(card->config.num_frames<1 || card->config.num_frames>4){
printk(KERN_ERR "mga_vid: illegal num_frames: %d\n",card->config.num_frames);
return(-EFAULT);
return -EFAULT;
}
card->src_base = (card->ram_size * 0x100000 - card->config.num_frames * card->config.frame_size - card->top_reserved);
if(card->src_base<0){
printk(KERN_ERR "mga_vid: not enough memory for frames!\n");
return(-EFAULT);
return -EFAULT;
}
card->src_base &= (~0xFFFF); // 64k boundary
#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)))
{
printk(KERN_ERR "mga_vid: failed copy to userspace\n");
return(-EFAULT);
return -EFAULT;
}
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)))
{
printk(KERN_ERR "mga_vid: FSEL failed copy from userspace\n");
return(-EFAULT);
return -EFAULT;
}
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",
&tmp, (uint32_t *) arg);
return(-EFAULT);
return -EFAULT;
}
break;
@ -1314,7 +1314,7 @@ static int mga_vid_ioctl(struct inode *inode, struct file *file, unsigned int cm
default:
printk(KERN_ERR "mga_vid: Invalid ioctl\n");
return (-EINVAL);
return -EINVAL;
}
return 0;
@ -1464,17 +1464,17 @@ static int mga_vid_mmap(struct file *file, struct vm_area_struct *vma)
if(!card->configured)
{
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,
vma->vm_end - vma->vm_start, vma->vm_page_prot))
{
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)
@ -1517,7 +1517,7 @@ static int mga_vid_open(struct inode *inode, struct file *file)
// we don't have that many cards
if(minor >= mga_cards_num)
return(-ENXIO);
return -ENXIO;
file->private_data = mga_cards[minor];
#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;
if(card->vid_in_use == 1)
return(-EBUSY);
return -EBUSY;
card->vid_in_use = 1;
MOD_INC_USE_COUNT;
return(0);
return 0;
}
#if LINUX_VERSION_CODE >= 0x020400
@ -1735,7 +1735,7 @@ static int mga_vid_initialize(void)
}
#endif
return(0);
return 0;
}
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
*
* 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.
*
* Matrox MGA G200/G400 YUV Video Interface module Version 0.1.0
*
* BES == Back End Scaler
*
* This software has been released under the terms of the GNU Public
* license. See http://www.gnu.org/copyleft/gpl.html for details.
*/
#ifndef MPLAYER_MGA_VID_H
#define MPLAYER_MGA_VID_H
#ifndef MGA_VID_H
#define MGA_VID_H
typedef struct mga_vid_config_s
{
@ -42,27 +33,33 @@ uint8_t colkey_blue;
uint32_t format;
uint32_t frame_size;
uint32_t num_frames;
uint32_t capabilities;
} mga_vid_config_t;
/* supported FOURCCs */
#define MGA_VID_FORMAT_YV12 0x32315659
#define MGA_VID_FORMAT_IYUV (('I'<<24)|('Y'<<16)|('U'<<8)|'V')
#define MGA_VID_FORMAT_I420 (('I'<<24)|('4'<<16)|('2'<<8)|'0')
#define MGA_VID_FORMAT_YUY2 (('Y'<<24)|('U'<<16)|('Y'<<8)|'2')
#define MGA_VID_FORMAT_UYVY (('U'<<24)|('Y'<<16)|('V'<<8)|'Y')
#define MGA_VID_CONFIG _IOR('J', 1, mga_vid_config_t)
#define MGA_VID_ON _IO ('J', 2)
#define MGA_VID_OFF _IO ('J', 3)
#define MGA_VID_FSEL _IOR('J', 4, int)
#define MGA_VID_GET_LUMA _IOR('J', 5, int)
#define MGA_VID_SET_LUMA _IOR('J', 6, int)
/* ioctl commands */
#define MGA_VID_GET_VERSION _IOR ('J', 1, uint32_t)
#define MGA_VID_CONFIG _IOWR('J', 2, mga_vid_config_t)
#define MGA_VID_ON _IO ('J', 3)
#define MGA_VID_OFF _IO ('J', 4)
#define MGA_VID_FSEL _IOW ('J', 5, uint32_t)
#define MGA_VID_GET_LUMA _IOR ('J', 6, uint32_t)
#define MGA_VID_SET_LUMA _IOW ('J', 7, uint32_t)
/* card identifiers */
#define MGA_G200 0x1234
#define MGA_G400 0x5678
// currently unused, G450 are mapped to MGA_G400
// #define MGA_G450 0x9ABC
#define MGA_G550 0xDEF0
#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)
{
case IMGFMT_RGB8: return("RGB 8-bit");
case IMGFMT_RGB15: return("RGB 15-bit");
case IMGFMT_RGB16: return("RGB 16-bit");
case IMGFMT_RGB24: return("RGB 24-bit");
case IMGFMT_RGB32: return("RGB 32-bit");
case IMGFMT_BGR8: return("BGR 8-bit");
case IMGFMT_BGR15: return("BGR 15-bit");
case IMGFMT_BGR16: return("BGR 16-bit");
case IMGFMT_BGR24: return("BGR 24-bit");
case IMGFMT_BGR32: return("BGR 32-bit");
case IMGFMT_YVU9: return("Planar YVU9");
case IMGFMT_IF09: return("Planar IF09");
case IMGFMT_YV12: return("Planar YV12");
case IMGFMT_I420: return("Planar I420");
case IMGFMT_IYUV: return("Planar IYUV");
case IMGFMT_CLPL: return("Planar CLPL");
case IMGFMT_Y800: return("Planar Y800");
case IMGFMT_Y8: return("Planar Y8");
case IMGFMT_IUYV: return("Packed IUYV");
case IMGFMT_IY41: return("Packed IY41");
case IMGFMT_IYU1: return("Packed IYU1");
case IMGFMT_IYU2: return("Packed IYU2");
case IMGFMT_UYNV: return("Packed UYNV");
case IMGFMT_cyuv: return("Packed CYUV");
case IMGFMT_Y422: return("Packed Y422");
case IMGFMT_YUY2: return("Packed YUY2");
case IMGFMT_YUNV: return("Packed YUNV");
case IMGFMT_UYVY: return("Packed UYVY");
// case IMGFMT_YVYU: return("Packed YVYU");
case IMGFMT_Y41P: return("Packed Y41P");
case IMGFMT_Y211: return("Packed Y211");
case IMGFMT_Y41T: return("Packed Y41T");
case IMGFMT_Y42T: return("Packed Y42T");
case IMGFMT_V422: return("Packed V422");
case IMGFMT_V655: return("Packed V655");
case IMGFMT_CLJR: return("Packed CLJR");
case IMGFMT_YUVP: return("Packed YUVP");
case IMGFMT_UYVP: return("Packed UYVP");
case IMGFMT_MPEGPES: return("Mpeg PES");
case IMGFMT_RGB8: return "RGB 8-bit";
case IMGFMT_RGB15: return "RGB 15-bit";
case IMGFMT_RGB16: return "RGB 16-bit";
case IMGFMT_RGB24: return "RGB 24-bit";
case IMGFMT_RGB32: return "RGB 32-bit";
case IMGFMT_BGR8: return "BGR 8-bit";
case IMGFMT_BGR15: return "BGR 15-bit";
case IMGFMT_BGR16: return "BGR 16-bit";
case IMGFMT_BGR24: return "BGR 24-bit";
case IMGFMT_BGR32: return "BGR 32-bit";
case IMGFMT_YVU9: return "Planar YVU9";
case IMGFMT_IF09: return "Planar IF09";
case IMGFMT_YV12: return "Planar YV12";
case IMGFMT_I420: return "Planar I420";
case IMGFMT_IYUV: return "Planar IYUV";
case IMGFMT_CLPL: return "Planar CLPL";
case IMGFMT_Y800: return "Planar Y800";
case IMGFMT_Y8: return "Planar Y8";
case IMGFMT_IUYV: return "Packed IUYV";
case IMGFMT_IY41: return "Packed IY41";
case IMGFMT_IYU1: return "Packed IYU1";
case IMGFMT_IYU2: return "Packed IYU2";
case IMGFMT_UYNV: return "Packed UYNV";
case IMGFMT_cyuv: return "Packed CYUV";
case IMGFMT_Y422: return "Packed Y422";
case IMGFMT_YUY2: return "Packed YUY2";
case IMGFMT_YUNV: return "Packed YUNV";
case IMGFMT_UYVY: return "Packed UYVY";
// case IMGFMT_YVYU: return "Packed YVYU";
case IMGFMT_Y41P: return "Packed Y41P";
case IMGFMT_Y211: return "Packed Y211";
case IMGFMT_Y41T: return "Packed Y41T";
case IMGFMT_Y42T: return "Packed Y42T";
case IMGFMT_V422: return "Packed V422";
case IMGFMT_V655: return "Packed V655";
case IMGFMT_CLJR: return "Packed CLJR";
case IMGFMT_YUVP: return "Packed YUVP";
case IMGFMT_UYVP: return "Packed UYVP";
case IMGFMT_MPEGPES: return "Mpeg PES";
}
return("Unknown");
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)))
{
printk(RVID_MSG"FSEL failed copy from userspace\n");
return(-EFAULT);
return -EFAULT;
}
radeon_vid_frame_sel(frame);
break;
default:
printk(RVID_MSG"Invalid ioctl\n");
return (-EINVAL);
return -EINVAL;
}
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))
{
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)
@ -1430,14 +1430,14 @@ static int radeon_vid_open(struct inode *inode, struct file *file)
int minor = MINOR(inode->i_rdev);
if(minor != 0)
return(-ENXIO);
return -ENXIO;
if(radeon_vid_in_use == 1)
return(-EBUSY);
return -EBUSY;
radeon_vid_in_use = 1;
MOD_INC_USE_COUNT;
return(0);
return 0;
}
#if LINUX_VERSION_CODE >= 0x020400
@ -1523,7 +1523,7 @@ static int __init radeon_vid_initialize(void)
printk(RVID_MSG"MTRR set to ON\n");
}
#endif /* CONFIG_MTRR */
return(0);
return 0;
}
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;
if(!(agp_mem||map_start))
return (-EAGAIN);
return -EAGAIN;
if(m->move2 > 3) {
printk(KERN_DEBUG "tdfx_vid: AGP move invalid destination %d\n",
m->move2);
return (-EAGAIN);
return -EAGAIN;
}
if(map_start)
@ -289,6 +289,7 @@ static int agp_move(tdfx_vid_agp_move_t* m) {
return 0;
}
#if 0
static void setup_fifo(u32 offset,ssize_t pages) {
long addr = agp_info.aper_base + offset;
u32 size = pages | 0x700; // fifo on, in agp mem, disable hole cnt
@ -307,6 +308,7 @@ static void setup_fifo(u32 offset,ssize_t pages) {
banshee_wait_idle();
}
#endif
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))) {
printk(KERN_DEBUG "tdfx_vid:failed copy from userspace\n");
return(-EFAULT);
return -EFAULT;
}
banshee_make_room(2);
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))) {
printk(KERN_INFO "tdfx_vid:failed copy to userspace\n");
return(-EFAULT);
return -EFAULT;
}
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))) {
printk(KERN_DEBUG "tdfx_vid:failed copy from userspace\n");
return(-EFAULT);
return -EFAULT;
}
if(ov.dst_y < 0) {
int shift;
if(-ov.dst_y >= ov.src_height) {
printk(KERN_DEBUG "tdfx_vid: Overlay outside of the screen ????\n");
return(-EFAULT);
return -EFAULT;
}
shift = (-ov.dst_y)/(double)ov.dst_height*ov.src_height;
ov.src[0] += shift*ov.src_stride;
@ -564,7 +566,7 @@ static int tdfx_vid_set_overlay(unsigned long arg) {
int shift;
if(-ov.dst_x >= ov.src_width) {
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 = ((shift+3)/2)*2;
@ -592,7 +594,7 @@ static int tdfx_vid_set_overlay(unsigned long arg) {
break;
default:
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
@ -600,11 +602,11 @@ static int tdfx_vid_set_overlay(unsigned long arg) {
ov.format == TDFX_VID_FORMAT_UYVY)) {
if((ov.src_stride & ~0x3) != ov.src_stride) {
printk(KERN_DEBUG "tdfx_vid: YUV need a 4 bytes aligned stride %d\n",ov.src_stride);
return(-EFAULT);
return -EFAULT;
}
if((ov.src[0] & ~0x3) != ov.src[0] || (ov.src[1] & ~0x3) != ov.src[1]){
printk(KERN_DEBUG "tdfx_vid: YUV need a 4 bytes aligned address 0x%x 0x%x\n",ov.src[0],ov.src[1]);
return(-EFAULT);
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 ||
disp_h <= 0 || disp_h > screen_h || disp_w <= 0 || disp_w > screen_w) {
printk(KERN_DEBUG "tdfx_vid: Invalid overlay dimension and/or position\n");
return (-EFAULT);
return -EFAULT;
}
// Setup the vidproc
// H scaling
@ -702,7 +704,7 @@ static int tdfx_vid_overlay_on(void) {
//return 0;
if(vidcfg & (1<<8)) { // Overlay is already on
//printk(KERN_DEBUG "tdfx_vid: Overlay is already on.\n");
return (-EFAULT);
return -EFAULT;
}
vidcfg |= (1<<8);
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");
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:
if(copy_from_user(&move,(tdfx_vid_agp_move_t*)arg,sizeof(tdfx_vid_agp_move_t))) {
printk(KERN_INFO "tdfx_vid:failed copy from userspace\n");
return(-EFAULT);
return -EFAULT;
}
return agp_move(&move);
case TDFX_VID_BUMP0:
if(copy_from_user(&int16,(u16*)arg,sizeof(u16))) {
printk(KERN_INFO "tdfx_vid:failed copy from userspace\n");
return(-EFAULT);
return -EFAULT;
}
return bump_fifo(int16);
case TDFX_VID_BLIT:
if(copy_from_user(&blit,(tdfx_vid_blit_t*)arg,sizeof(tdfx_vid_blit_t))) {
printk(KERN_INFO "tdfx_vid:failed copy from userspace\n");
return(-EFAULT);
return -EFAULT;
}
if(!tdfx_vid_blit(&blit)) {
printk(KERN_INFO "tdfx_vid: Blit failed\n");
return(-EFAULT);
return -EFAULT;
}
return 0;
case TDFX_VID_GET_CONFIG:
if(copy_from_user(&cfg,(tdfx_vid_config_t*)arg,sizeof(tdfx_vid_config_t))) {
printk(KERN_INFO "tdfx_vid:failed copy from userspace\n");
return(-EFAULT);
return -EFAULT;
}
tdfx_vid_get_config(&cfg);
if(copy_to_user((tdfx_vid_config_t*)arg,&cfg,sizeof(tdfx_vid_config_t))) {
printk(KERN_INFO "tdfx_vid:failed copy to userspace\n");
return(-EFAULT);
return -EFAULT;
}
return 0;
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();
default:
printk(KERN_ERR "tdfx_vid: Invalid ioctl %d\n",cmd);
return (-EINVAL);
return -EINVAL;
}
return 0;
}
@ -846,13 +848,13 @@ static struct page *tdfx_vid_nopage(struct vm_area_struct *vma,
if(n >= agp_mem->page_count) {
printk(KERN_DEBUG "tdfx_vid: Too far away\n");
return ((struct page *)0UL);
return (struct page *)0UL;
}
phys = agp_mem->memory[n] & ~(0x00000fff);
page = virt_to_page(phys_to_virt(phys));
if(!page) {
printk(KERN_DEBUG "tdfx_vid: Can't get the page\n");
return ((struct page *)0UL);
return (struct page *)0UL;
}
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(size*PAGE_SIZE > map_max) {
printk(KERN_ERR "tdfx_vid: Not enouth mem\n");
return(-EAGAIN);
return -EAGAIN;
}
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,3)
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
{
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);
return 0;
}
if(agp_mem)
return(-EAGAIN);
return -EAGAIN;
agp_mem = drm_agp->allocate_memory(size,AGP_NORMAL_MEMORY);
if(!agp_mem) {
printk(KERN_ERR "Failed to allocate AGP memory\n");
return(-ENOMEM);
return -ENOMEM;
}
if(drm_agp->bind_memory(agp_mem,0)) {
printk(KERN_ERR "Failed to bind the AGP memory\n");
drm_agp->free_memory(agp_mem);
agp_mem = NULL;
return(-ENOMEM);
return -ENOMEM;
}
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
{
printk(KERN_ERR "tdfx_vid: error mapping video memory\n");
return(-EAGAIN);
return -EAGAIN;
}
} else {
// Never swap it out
@ -971,14 +973,14 @@ static int tdfx_vid_open(struct inode *inode, struct file *file)
#endif
if(minor != 0)
return(-ENXIO);
return -ENXIO;
if(tdfx_vid_in_use == 1)
return(-EBUSY);
return -EBUSY;
tdfx_vid_in_use = 1;
MOD_INC_USE_COUNT;
return(0);
return 0;
}
#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
videocodec xvid
info "XviD (MPEG-4)"
info "Xvid (MPEG-4)"
status working
fourcc FMP4,fmp4
fourcc DIVX,divx
@ -2265,6 +2265,7 @@ videocodec rawbgr16flip
status working
driver raw
format 0x0
format 0x10424752 0x0
out BGR16 flip
videocodec rawbgr16
@ -2787,6 +2788,13 @@ audiocodec ffadpcmea
driver ffmpeg
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
info "FFmpeg XAN DPCM audio"
comment "only works with libavformat demuxer"

View File

@ -117,7 +117,7 @@ AR_NEXT seek 30
AR_NEXT_HOLD seek 120
AR_PREV seek -10
AR_PREV_HOLD seek -120
AR_MENU osd
AR_MENU menu up
#AR_MENU menu cancel
AR_MENU_HOLD mute
AR_VUP volume 1
@ -157,5 +157,12 @@ ESC {dvdnav} dvdnav 5 # DVDNav MENU
ENTER {dvdnav} dvdnav 6 # DVDNav SELECT (ok)
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 # 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_MenuInitFailed "Менюто не може да бъде инициализирано.\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_AudioFilterChainPreinitError "Грешка при предварителна инициализация на аудио филтрите!\n"
#define MSGTR_LinuxRTCReadError "Linux RTC грешка при четене: %s\n"
@ -445,7 +443,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "'%s' не може да бъде отворен през LAN\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_DVDinvalidTitle "Невалиден номер на DVD заглавие: %d\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_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
#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_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
#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_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_DVDinvalidTitle "Ugyldig DVD-titel: %d\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_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_DVDinvalidTitle "Άκυρος αριθμός για τον τίτλο του DVD: %d\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_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
#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_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 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

View File

@ -174,7 +174,6 @@ static char help_text[]=
#define MSGTR_MenuInitFailed "Fallo en inicialización del menú.\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_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_AudioFilterChainPreinitError "Error en pre-inicialización de cadena de filtros de audio!\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_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
#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] 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_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_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"
@ -1967,7 +1964,6 @@ static char help_text[]=
#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_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_DriverV4L2 "[radio] Utilizando interfaz de radio V4Lv2.\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_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_TooManySimultaneousEvents "[ass] Demasiados eventos simultáneos!\n"
// ass_font.c
#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
// 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>
// C Dumez-Viou <viou@obs-nancay.fr>
// Updates & fixes by pl <p_l@gmx.fr> & n.le gaillart <n@tourmentine.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"\
" fournissiez ces informations en rapportant un bogue possible.\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_RemovedSubtitleFile "SUB : fichier sous-titres enlevé (%d): %s\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_Getch2InitializedTwice "ATTENTION : getch2_init appelé deux fois !\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_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"
@ -202,12 +204,14 @@ static char help_text[]=
#define MSGTR_OSDenabled "activé"
#define MSGTR_OSDdisabled "désactivé"
#define MSGTR_OSDAudio "Audio : %s"
#define MSGTR_OSDVideo "Vidéo : %s"
#define MSGTR_OSDChannel "Canal : %s"
#define MSGTR_OSDSubDelay "Décalage : %d ms"
#define MSGTR_OSDSpeed "Vitesse : x %6.2f"
#define MSGTR_OSDosd "OSD : %s"
#define MSGTR_OSDAudio "Audio : %s"
#define MSGTR_OSDChapter "Chapitre : (%d) %s"
#define MSGTR_OSDAngle "Angle: %d/%d"
// property values
#define MSGTR_Enabled "activé"
@ -218,6 +222,9 @@ static char help_text[]=
#define MSGTR_Bottom "bas"
#define MSGTR_Center "centre"
#define MSGTR_Top "haut"
#define MSGTR_SubSourceFile "fichier"
#define MSGTR_SubSourceVobsub "vobsub"
#define MSGTR_SubSourceDemux "inclus"
// osd bar names
#define MSGTR_Volume "Volume"
@ -227,25 +234,27 @@ static char help_text[]=
#define MSGTR_Contrast "Contraste"
#define MSGTR_Saturation "Saturation"
#define MSGTR_Hue "Tonalité"
#define MSGTR_Balance "Balance"
// property state
#define MSGTR_LoopStatus "Boucle: %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_RootwinStatus "Fenêtre racine : %s"
#define MSGTR_BorderStatus "Bordure : %s"
#define MSGTR_FramedroppingStatus "Saut d'images : %s"
#define MSGTR_VSyncStatus "Sync verticale : %s"
#define MSGTR_SubSelectStatus "Sous-titres : %s"
#define MSGTR_SubPosStatus "Sous position : %s/100"
#define MSGTR_SubAlignStatus "Sous alignment : %s"
#define MSGTR_SubDelayStatus "Décalage : %s"
#define MSGTR_SubSourceStatus "Source des sous-titres : %s"
#define MSGTR_SubPosStatus "Position des sous-titres : %s/100"
#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_SubForcedOnlyStatus "Sub forcé seulement : %s"
// 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_CannotOpenFile_Device "Impossible d'ouvrir le fichier/périph.\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"\
"Votre encodage pourrait être brisé!\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_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_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_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"
@ -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,"\
"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)."
#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_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"
@ -483,15 +495,18 @@ static char help_text[]=
#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 !"
// 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
#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
#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"
@ -501,7 +516,6 @@ static char help_text[]=
#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_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_AvailableProfiles "Profils disponibles :\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_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
#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_DVDnumTitles "Il y a %d titres sur ce DVD.\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_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"
#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_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"
@ -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_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_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_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_FoundVideoStream "==> Flux vidéo trouvé : %d\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_CannotOpenAudioStream "Impossible d'ouvrir le flux audio : %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_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_DemuxerInfoAlreadyPresent "Info du demuxer %s déjà présente !\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"
@ -615,6 +635,10 @@ static char help_text[]=
#define MSGTR_NoBindFound "Aucune action attachée à la touche '%s'"
#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:
#define MSGTR_CantOpenCodec "Impossible d'ouvrir le codec.\n"
#define MSGTR_CantCloseCodec "Impossible de fermer le codec.\n"
@ -654,7 +678,6 @@ static char help_text[]=
// LIRC:
#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_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_NoVolume "[Mixer] Aucun contrôle de volume disponible.\n"
#define MSGTR_NoBalance "[Mixer] Aucun contrôle de balance disponible.\n"
// ====================== 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_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_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é ..."
// --- 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_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_ConvertError "erreur de conversion de 24 bit en 32 bit (%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_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_NormalizeSound "Normaliser le son"
#define MSGTR_PREFERENCES_EnableEqualizer "Egaliseur (Equalizer) activé"
#define MSGTR_PREFERENCES_EnEqualizer "Activer l'équaliseur"
#define MSGTR_PREFERENCES_SoftwareMixer "Activer mixeur logiciel"
#define MSGTR_PREFERENCES_ExtraStereo "Activer stéréo supplémentaire"
#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_DXR3_VENC "Encodeur vidéo :"
#define MSGTR_PREFERENCES_DXR3_LAVC "Utiliser LAVC (FFmpeg)"
#define MSGTR_PREFERENCES_DXR3_FAME "Utiliser FAME"
#define MSGTR_PREFERENCES_FontEncoding1 "Unicode"
#define MSGTR_PREFERENCES_FontEncoding2 "Langues Européennes Occidentales (ISO-8859-1)"
#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_FontEncoding21 "Cyrillique Windows (CP1251)"
#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_FontPropWidth "Proportionnel à la largeur 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_Brightness "Luminosité"
#define MSGTR_VO_SUB_Hue "Tonalité"
#define MSGTR_VO_SUB_Balance "Balance"
// vo_xv.c
#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] 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_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_PlaybackOpenError "[AO_ALSA] Erreur ouverture de lecture : %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 ================================
// libaf
#define MSGTR_AF_ValueOutOfRange MSGTR_VO_ValueOutOfRange
// 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_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
#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_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_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
@ -1540,6 +1569,7 @@ static char help_text[]=
#define MSGTR_MPDEMUX_XMMS_FoundPlugin "Plugin trouvé : %s (%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 ===================================
@ -1581,6 +1611,7 @@ static char help_text[]=
// libmenu/menu_param.c
#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_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_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
#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_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_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
@ -1738,6 +1767,17 @@ static char help_text[]=
#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"
// 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
#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] Voir 'mplayer -vo help' pour autres pilotes sortie vidéo (non xv).\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
@ -1945,10 +1991,165 @@ static char help_text[]=
#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_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_DriverV4L2 "[radio] Utilise interface radio V4Lv2.\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 */

View File

@ -3,7 +3,7 @@
//... Okay enough of the hw, now send the other two!
//
// 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 ===========================
@ -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_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
#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_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 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
@ -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] 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"
#define MSGTR_LIBVO_XV_Adaptor "[VO_XV] Xv Adaptor #%d (%s) használata\n"
// 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_DVDlimitFail "non 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_DVDnumTitles "Ci sono %d titolo/i su questo DVD.\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_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_DVDinvalidTitle "不正な 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_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_DVDinvalidTitle "유효하지 않은 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_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_DVDinvalidTitle "Невалиден DVD број на насловот: %d\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_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_DVDinvalidTitle "Ugyldig DVD tittelnummer: %d\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_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_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_AudioFilterChainPreinitError "Er is een fout opgetreden bijde pre-initialisatie van de audio filter!\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_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_DVDinvalidTitle "Foutieve DVD titelnummer: %d\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_Getch2InitializedTwice "UWAGA: getch2_init wywołany dwukrotnie!\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_AudioFilterChainPreinitError "Błąd preinicjalizacji łańcucha filtru audio!\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_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
#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_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_DriverUnknownId "[radio] Nieznany id sterownika: %d\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_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_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_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"

View File

@ -211,7 +211,7 @@ static char help_text[]=
#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_DVDinvalidTitle "Numãrul titlului DVD greºit: %d\n"
#define MSGTR_DVDnumChapters "Sunt %d capitole în acest titlu.\n"

View File

@ -2,7 +2,7 @@
// Dmitry Baryshkov <mitya@school.ioffe.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 ===========================
@ -1387,7 +1387,7 @@ static char help_text[]=
#define MSGTR_LIBASS_EventHeightHasChanged "[ass] Внимание! Высота события изменилась! \n"
// 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_ErrorOpeningMemoryFont "[ass] Ошибка открытия шрифта в памяти: %s\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_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
#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] Другие (не-xv) драйверы ищите в выводе 'mplayer -vo help'.\n"\
"[VO_XV] Попробуйте -vo x11.\n"
#define MSGTR_LIBVO_XV_Adaptor "[VO_XV] Использую Xv Адаптер #%d (%s)\n"
//tv.c
#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_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_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_AudioFilterChainPreinitError "Chyba pri predinicializácii reťazca audio filtrov!\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_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_DVDnumTitles "Na tomto DVD je %d titulov.\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_Getch2InitializedTwice "VARNING: getch2_init anropad dubbelt!\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_AudioFilterChainPreinitError "Fel vid förinitiering av audiofilter!\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_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_DVDinvalidTitle "Icke godkänt DVD-titelnummer: %d\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"\
"=== 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_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_MissingVideoStream "Video yayını bulunamadı!\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_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_DVDinvalidTitle "Неприпустимий номер доріжки титрів на DVD: %d\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:
// (file links to be updated later if available!);
// NAV; section/subsection; XScreenSaver; keycolor;
@ -37,7 +37,7 @@ static char help_text[]=
" -playlist <文件> 指定播放列表文件\n"
" -vid x -aid y 选择播放视频流x和音频流y\n"
" -fps x -srate y 改变视频帧率为 xfps音频采样率为 yHz\n"
" -pp <质量> 启用后期处理过滤器/滤镜(详见于手册相关页面)\n"
" -pp <质量> 启用后期处理过滤器(详见于手册相关页面)\n"
" -framedrop 启用丢帧(用于运行慢的机器)\n"
"\n"
"基本控制键: (完整列表见手册相关页面,也请查阅 input.conf\n"
@ -137,58 +137,58 @@ static char help_text[]=
#define MSGTR_PlaylistLoadUnable "\n无法装载播放列表 %s\n"
#define MSGTR_Exit_SIGILL_RTCpuSel \
"- “非法指令”导致 MPlayer 崩溃。\n"\
" 这可能是我们的新代码中运行时 CPU-检测的一个错误...\n"\
" 这可能是我们新的实时 CPU 侦测代码中的一个缺陷...\n"\
" 请阅读 DOCS/zh/bugreports.html。\n"
#define MSGTR_Exit_SIGILL \
"- “非法指令”导致 MPlayer 崩溃。\n"\
" 这通常发生在现在你所运行之上的 CPU 不同于\n"\
" 编译/优化时的 CPU 所造成的\n"\
" 证实它\n"
" 这通常是在你运行 MPlayer 的 CPU 与其\n"\
" 编译/优化时所针对的 CPU 不同时发生\n"\
" 检查是否如此\n"
#define MSGTR_Exit_SIGSEGV_SIGFPE \
"- 过度使用 CPU/FPU/RAM 导致 MPlayer 崩溃。\n"\
" 使用 --enable-debug 重新编译 MPlayer 并用调试程序“gdb”反跟踪和\n"\
" 反汇编。具体细节看 DOCS/zh/bugreports.html#crash。\n"
"- 不合理使用 CPU/FPU/RAM 导致 MPlayer 崩溃。\n"\
" 使用 --enable-debug 重新编译 MPlayer 并建立“gdb”反跟踪和\n"\
" 反汇编输出。具体细节见 DOCS/zh/bugreports.html#crash。\n"
#define MSGTR_Exit_SIGCRASH \
"- MPlayer 崩溃了。这不应该发生。\n"\
" 这可能是 MPlayer 代码中 _或者_ 你的驱动中 _或者_ 你的 gcc 版本中的一个\n"\
" 错误。如你觉得这是 MPlayer 的错误,请阅读 DOCS/zh/bugreports.html\n"\
" 并遵循上面的步骤报告错误。除非你在报告一个可能的错误时候提供我们\n"\
" 所需要的信息, 否则我们不能也不会帮助你。\n"
#define MSGTR_LoadingConfig "正在装载配置文件 '%s'\n"
#define MSGTR_LoadingProtocolProfile "加载协议相关配置集‘%s\n"
#define MSGTR_LoadingExtensionProfile "加载扩展组件相关配置集‘%s\n"
#define MSGTR_AddedSubtitleFile "字幕: 添加字幕文件 (%d): %s\n"
#define MSGTR_RemovedSubtitleFile "字幕: 删除字幕文件 (%d): %s\n"
#define MSGTR_ErrorOpeningOutputFile "打开写入文件 [%s] 失败!\n"
#define MSGTR_CommandLine "命令行: "
#define MSGTR_RTCDeviceNotOpenable "打开 %s 失败: %s (此文件应该能被用户读取。)\n"
#define MSGTR_LinuxRTCInitErrorIrqpSet "Linux RTC 初始化错误在 ioctl (rtc_irqp_set %lu): %s\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"
" 这可能是 MPlayer 或者 你的驱动中 或者 你的 gcc 版本中的一个缺陷。\n"\
" 如你觉得这是 MPlayer 的问题,请阅读 DOCS/zh/bugreports.html\n"\
" 并遵循其中的指示去做。除非你在报告一个潜在的缺陷时候提供我们\n"\
" 所需要的信息否则我们不能也不会帮助你。\n"
#define MSGTR_LoadingConfig "正在加载配置 '%s'\n"
#define MSGTR_LoadingProtocolProfile "加载协议相关配置集‘%s\n"
#define MSGTR_LoadingExtensionProfile "加载扩展组件相关配置集‘%s\n"
#define MSGTR_AddedSubtitleFile "字幕:添加字幕文件(%d%s\n"
#define MSGTR_RemovedSubtitleFile "字幕:移除字幕文件(%d %s\n"
#define MSGTR_ErrorOpeningOutputFile "以写入方式打开文件 [%s] 失败!\n"
#define MSGTR_CommandLine "命令行"
#define MSGTR_RTCDeviceNotOpenable "打开 %s 失败%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_LinuxRTCInitErrorPieOn "ioctl (rtc_pie_on) 中出现 Linux RTC 初始化错误:%s\n"
#define MSGTR_UsingTimingType "正在使用 %s 计时。\n"
#define MSGTR_NoIdleAndGui "GMPLayer 不能使用选项 -idle。\n"
#define MSGTR_MenuInitialized "菜单已初始化: %s\n"
#define MSGTR_MenuInitialized "菜单已初始化%s\n"
#define MSGTR_MenuInitFailed "菜单初始化失败。\n"
#define MSGTR_Getch2InitializedTwice "警告: getch2_init 被调用两次!\n"
#define MSGTR_DumpstreamFdUnavailable "无法转储此流 - 没有可用的文件描述符。\n"
#define MSGTR_Getch2InitializedTwice "警告getch2_init 被两次调用!\n"
#define MSGTR_DumpstreamFdUnavailable "无法导出该数据流 - 没有可用的文件描述符。\n"
#define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "不能用根菜单 %s 打开 libmenu 视频过滤器。\n"
#define MSGTR_AudioFilterChainPreinitError "音频过滤器链预启动错误!\n"
#define MSGTR_LinuxRTCReadError "Linux RTC 读取错误: %s\n"
#define MSGTR_SoftsleepUnderflow "警告! Softsleep 向下溢出!\n"
#define MSGTR_DvdnavNullEvent "DVDNAV 事件为空?!\n"
#define MSGTR_DvdnavHighlightEventBroken "DVDNAV 事件: 高亮事件损坏\n"
#define MSGTR_DvdnavEvent "DVDNAV 事件: %s\n"
#define MSGTR_DvdnavHighlightHide "DVDNAV 事件: 高亮隐藏\n"
#define MSGTR_DvdnavStillFrame "######################################## DVDNAV 事件: 静止帧: %d秒\n"
#define MSGTR_DvdnavNavStop "DVDNAV 事件: Nav停止\n"
#define MSGTR_DvdnavNavNOP "DVDNAV 事件: Nav无操作\n"
#define MSGTR_DvdnavNavSpuStreamChangeVerbose "DVDNAV 事件: Nav SPU 流改变: 物理: %d/%d/%d 逻辑: %d\n"
#define MSGTR_DvdnavNavSpuStreamChange "DVDNAV 事件: Nav SPU 流改变: 物理: %d 逻辑: %d\n"
#define MSGTR_DvdnavNavAudioStreamChange "DVDNAV 事件: Nav 音频流改变: 物理: %d 逻辑: %d\n"
#define MSGTR_DvdnavNavVTSChange "DVDNAV 事件: Nav VTS 改变\n"
#define MSGTR_DvdnavNavCellChange "DVDNAV 事件: Nav Cell 改变\n"
#define MSGTR_DvdnavNavSpuClutChange "DVDNAV 事件: Nav SPU CLUT 改变\n"
#define MSGTR_DvdnavNavSeekDone "DVDNAV 事件: Nav 搜寻完成\n"
#define MSGTR_AudioFilterChainPreinitError "音频过滤器链预初始化错误!\n"
#define MSGTR_LinuxRTCReadError "Linux RTC 读取错误%s\n"
#define MSGTR_SoftsleepUnderflow "警告Softsleep 数值下溢!\n"
#define MSGTR_DvdnavNullEvent "DVDNAV 事件为空\n"
#define MSGTR_DvdnavHighlightEventBroken "DVDNAV 事件:重要事件损坏\n"
#define MSGTR_DvdnavEvent "DVDNAV 事件%s\n"
#define MSGTR_DvdnavHighlightHide "DVDNAV 事件:重要事件隐藏\n"
#define MSGTR_DvdnavStillFrame "######################################## DVDNAV 事件:静止帧:%d 秒\n"
#define MSGTR_DvdnavNavStop "DVDNAV 事件Nav 停止\n"
#define MSGTR_DvdnavNavNOP "DVDNAV 事件Nav 无操作\n"
#define MSGTR_DvdnavNavSpuStreamChangeVerbose "DVDNAV 事件Nav SPU 数据流切换:物理位置:%d/%d/%d 逻辑位置:%d\n"
#define MSGTR_DvdnavNavSpuStreamChange "DVDNAV 事件Nav SPU 数据流切换:物理位置:%d 逻辑位置:%d\n"
#define MSGTR_DvdnavNavAudioStreamChange "DVDNAV 事件Nav 音频流切换:物理位置:%d 逻辑位置:%d\n"
#define MSGTR_DvdnavNavVTSChange "DVDNAV 事件Nav VTS 切换\n"
#define MSGTR_DvdnavNavCellChange "DVDNAV 事件Nav Cell 切换\n"
#define MSGTR_DvdnavNavSpuClutChange "DVDNAV 事件Nav SPU CLUT 切换\n"
#define MSGTR_DvdnavNavSeekDone "DVDNAV 事件Nav 定位完成\n"
#define MSGTR_MenuCall "菜单调用\n"
#define MSGTR_EdlOutOfMem "不能分配足够的内存来保持 EDL 数据。\n"
@ -1290,6 +1290,12 @@ static char help_text[]=
#define MSGTR_INPUT_JOYSTICK_WarnLostSync "操纵杆: 警告初始事件, 失去了和驱动的同步。\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
#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_CouldntOpen "[MGA] 打不开: %s\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
@ -1948,6 +1955,7 @@ static char help_text[]=
"[VO_XV] DOCS/HTML/en/video.html#xv!\n"\
"[VO_XV] 请参见 'mplayer -vo help' 找其它 (非-xv) 视频输出驱动。\n"\
"[VO_XV] 试试 -vo x11.\n"
#define MSGTR_LIBVO_XV_Adaptor "[VO_XV] 使用 Xv 转换器 #%d%s\n"
// loader/ldt_keeper.c
@ -2028,7 +2036,7 @@ static char help_text[]=
#define MSGTR_LIBASS_ErrorOpeningFont "[ass] 打开字体出错: %s, %d\n"
// 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_UsingDefaultFont "[ass] fontconfig_select: 使用缺省字体: (%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"
// 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_ErrorOpeningMemoryFont "[ass] 打开内存字体出错: %s\n"
#define MSGTR_LIBASS_NoCharmaps "[ass] 字体缺少字符映射表\n"

View File

@ -162,7 +162,6 @@ static char help_text[]=
#define MSGTR_MenuInitFailed "菜單初始化失敗。\n"
#define MSGTR_Getch2InitializedTwice "警告: getch2_init 被調用兩次!\n"
#define MSGTR_DumpstreamFdUnavailable "無法轉儲此流 - 没有可用的文件描述符。\n"
#define MSGTR_FallingBackOnPlaylist "回退到試着解析播放列表 %s...\n"
#define MSGTR_CantOpenLibmenuFilterWithThisRootMenu "不能用根菜單 %s 打開 libmenu 視頻過濾器。\n"
#define MSGTR_AudioFilterChainPreinitError "音頻過濾器鏈預啟動錯誤!\n"
#define MSGTR_LinuxRTCReadError "Linux RTC 讀取錯誤: %s\n"
@ -522,7 +521,7 @@ static char help_text[]=
#define MSGTR_SMBFileNotFound "打不開局域網内的: '%s'\n"
#define MSGTR_SMBNotCompiled "MPlayer 没有編譯成支持 SMB 的讀取。\n"
#define MSGTR_CantOpenDVD "打不開 DVD 設備: %s\n"
#define MSGTR_CantOpenDVD "打不開 DVD 設備: %s (%s)\n"
// stream_dvd.c
#define MSGTR_DVDspeedCantOpen "不能以寫方式打開DVD設備, 改變DVD速度需要寫方式。\n"
@ -1189,8 +1188,6 @@ static char help_text[]=
"[AO_ALSA] device=<device-name>\n"\
"[AO_ALSA] 設置設備 (change , to . and : to =)\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_PlaybackOpenError "[AO_ALSA] 回放打開錯誤: %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_ClearBufferFailed "[radio] 清空緩衝失敗: %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_DriverV4L2 "[radio] 使用 V4Lv2 廣播接口。\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_MAX_GLYPHS_Reached "[ass] 達到了字形最大值: 事件 %d, 開始 = %llu, 時長 = %llu\n 文本 = %s\n"
#define MSGTR_LIBASS_EventHeightHasChanged "[ass] 警告! 事件高度(height) 已改變! \n"
#define MSGTR_LIBASS_TooManySimultaneousEvents "[ass] 過多同時的事件!\n"
// ass_font.c
#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_VDOWN (AR_BASE + 9)
/* MacOSX Driver */
int mp_input_ar_init(void);
int mp_input_ar_read(void *ctx, 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 */

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_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_STOP, "stop", 0, { {-1,{0}} } },
{ MP_CMD_PAUSE, "pause", 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}} } },
@ -484,6 +485,7 @@ static const mp_cmd_bind_t def_cmd_binds[] = {
{ { '!', 0 }, "seek_chapter -1" },
{ { '@', 0 }, "seek_chapter 1" },
{ { 'A', 0 }, "switch_angle 1" },
{ { 'U', 0 }, "stop" },
{ { 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 },
{ "cmdlist", print_cmd_list, CONF_TYPE_FUNC, CONF_GLOBAL, 0, 0, NULL },
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),
{ 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
#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) {
struct stat st;
if (stat(input_conf->in_file, &st))

View File

@ -109,6 +109,7 @@
#define MP_CMD_SWITCH_ANGLE 105
#define MP_CMD_ASS_USE_MARGINS 106
#define MP_CMD_SWITCH_TITLE 107
#define MP_CMD_STOP 108
#define MP_CMD_GUI_EVENTS 5000
#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 |= (ev.value << ev.number);
if(ev.value == 1)
return ((JOY_BTN0+ev.number) | MP_KEY_DOWN);
return (JOY_BTN0 + ev.number) | MP_KEY_DOWN;
else
return (JOY_BTN0+ev.number);
return JOY_BTN0 + ev.number;
} else if(ev.type & JS_EVENT_AXIS) {
if(ev.value < -JOY_AXIS_DELTA && 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_s3 0x1c,0x1d,0x1e,0x1f
#ifdef __APPLE_CC__
#define AVV(x...) (x)
#else
#ifdef HAVE_ALTIVEC_VECTOR_BRACES
#define AVV(x...) {x}
#else
#define AVV(x...) (x)
#endif
#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_s3 0x1c,0x1d,0x1e,0x1f
+
+#ifdef __APPLE_CC__
+#define AVV(x...) (x)
+#else
+#ifdef HAVE_ALTIVEC_VECTOR_BRACES
+#define AVV(x...) {x}
+#else
+#define AVV(x...) (x)
+#endif
+
+#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;
n++;
} while (u >= BIZ_EPSILON * sum);
return(sum);
return sum;
}
/*

View File

@ -232,7 +232,7 @@ static int control(int cmd, void *arg)
}
} //end switch
return(CONTROL_UNKNOWN);
return CONTROL_UNKNOWN;
}
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);
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));
return(0);
return 0;
}
} else {
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,
snd_strerror(err));
return(0);
return 0;
}
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) {
mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_UnableToSetAccessType,
snd_strerror(err));
return (0);
return 0;
}
/* 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,
snd_strerror(err));
return(0);
return 0;
}
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,
snd_strerror(err));
return(0);
return 0;
}
/* 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,
snd_strerror(err));
return(0);
return 0;
}
#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,
snd_strerror(err));
return(0);
return 0;
}
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,
snd_strerror(err));
return(0);
return 0;
} else
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)
alsa_can_pause = snd_pcm_hw_params_can_pause(alsa_hwparams);
return(1);
return 1;
} // 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);
if ((res = snd_pcm_prepare(alsa_handler)) < 0) {
mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_PcmPrepareError, snd_strerror(res));
return(0);
return 0;
break;
}
}
@ -857,13 +857,13 @@ static int get_space(void)
if ((ret = snd_pcm_status(alsa_handler, status)) < 0)
{
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;
if (ret > ao_data.buffersize) // Buffer underrun?
ret = ao_data.buffersize;
return(ret);
return ret;
}
/* 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;
} 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 */
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)
{
mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_SoundCardNotFound);
return(0);
return 0;
}
ao_data.format = format;
@ -112,7 +112,7 @@ static int init(int rate_hz, int channels, int format, int flags)
break;
case -1:
mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_InvalidFormatReq,af_fmt2str_short(format));
return(0);
return 0;
default:
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)
{
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)
{
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,
@ -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)
{
mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_PcmChanInfoError, snd_strerror(err));
return(0);
return 0;
}
#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)
{
mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_CantSetParms, snd_strerror(err));
return(0);
return 0;
}
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)
{
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)
{
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",
ao_data.samplerate, ao_data.channels, ao_data.bps, ao_data.buffersize,
snd_pcm_get_format_name(alsa_format.format));
return(1);
return 1;
}
/* close audio device */
@ -321,7 +321,7 @@ static int play(void* data, int len, int flags)
int got_len;
if (!len)
return(0);
return 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)
{
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)
{
mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_WriteErrorAfterReset,
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));
return(0);
return 0;
}
return(got_len);
return got_len;
}
/* how many byes are free in the buffer */
@ -355,9 +355,9 @@ static int get_space(void)
ch_stat.channel = SND_PCM_CHANNEL_PLAYBACK;
if (snd_pcm_channel_status(alsa_handler, &ch_stat) < 0)
return(0); /* error occurred */
return 0; /* error occurred */
else
return(ch_stat.free);
return ch_stat.free;
}
/* 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;
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
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)
{
return(CONTROL_UNKNOWN);
return CONTROL_UNKNOWN;
}
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! */
if(SDL_OpenAudio(&aspec, &obtained) < 0) {
mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_SDL_CantOpenAudio, SDL_GetError());
return(0);
return 0;
}
/* 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) {
int i;
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 ?
if (strcmp(track->styles[i].Name, name) == 0)
return i;
@ -846,16 +846,22 @@ static char* sub_recode(char* data, size_t size, char* codepage)
char* ip;
char* op;
size_t rc;
int clear = 0;
outbuf = malloc(size);
outbuf = malloc(osize);
ip = data;
op = outbuf;
while (ileft) {
rc = iconv(icdsc, &ip, &ileft, &op, &oleft);
while (1) {
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 (errno == E2BIG) {
int offset = op - outbuf;
size_t offset = op - outbuf;
outbuf = (char*)realloc(outbuf, osize + size);
op = outbuf + offset;
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);
return NULL;
}
}
} else
if (clear)
break;
}
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)
{
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)

View File

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

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)
continue;
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)
&& !strncmp (mpriv->dir, menu_chroot, len))
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){
return (vf_next_query_format(vf,fmt));
return vf_next_query_format(vf, fmt);
}
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)
{
a52_free(a52_state);
mp_msg(MSGT_DECAUDIO, MSGL_ERR, "AC3/DTS sync failed\n");
return 0;
}
sh_audio->context = a52_state;
return 1;
}
static void uninit(sh_audio_t *sh)
{
a52_free(sh->context);
}
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)
{
a52_free(a52_state);
}
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 */
if ( iptr >= priv->nbuf ) /* If data file is empty then return */
return(retval);
return retval;
ibufadr = iptr/BYTE_BIT; /* current file data buffer address */
ibufbit = iptr%BYTE_BIT; /* current file data buffer bit */
/* tmpdat = stream->buf[ibufadr] >> (BYTE_BIT-ibufbit-1); */
@ -235,7 +235,7 @@ static int bread(char *data, /* Output: Output data array */
}
++retval;
}
return(retval);
return retval;
}
#define BITS_INT (sizeof(int)*8)
@ -266,7 +266,7 @@ static int get_bstm(int *data, /* Input: input data */
mask >>= 1;
}
*data = work;
return(retval);
return retval;
}
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
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) {
int ret = vf->control(vf, VFCTRL_SET_EQUALIZER, &data);
if (ret == CONTROL_TRUE)
return (1);
return 1;
}
/* try software control */
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);
if (ret == CONTROL_TRUE) {
*value = data.value;
return (1);
return 1;
}
}
/* try software control */
@ -133,7 +133,7 @@ int set_rectangle(sh_video_t *sh_video, int param, int value)
if (vf) {
int ret = vf->control(vf, VFCTRL_CHANGE_RECTANGLE, data);
if (ret)
return (1);
return 1;
}
return 0;
}

View File

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

View File

@ -21,8 +21,8 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef RTJPEGN_H
#define RTJPEGN_H
#ifndef MPLAYER_RTJPEGN_H
#define MPLAYER_RTJPEGN_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_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));
if (!ctx)
return(0);
return 0;
memset(ctx, 0, sizeof(vd_ffmpeg_ctx));
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);
if(!prev){
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);
@ -278,7 +278,7 @@ static int init(sh_video_t *sh){
break;
default:
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);
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]))
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);
else
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");
@ -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);
dlclose(priv->file_handler);
return(0);
return 0;
}
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);
dlclose(priv->file_handler);
return(0);
return 0;
}
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",
mod_hdr->api_rev, filename);
dlclose(priv->file_handler);
return(0);
return 0;
}
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);
dlclose(priv->file_handler);
return(0);
return 0;
}
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;
}
}
return(1);
return 1;
}
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;
mp_msg(MSGT_DECVIDEO, MSGL_DBG2, "We got decoder's address at init! %p\n", codec_hdr->decoder);
return(1);
return 1;
}
#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;
mp_msg(MSGT_DECVIDEO, MSGL_DBG2, "Codec is supported: found decoder for %s at %p\n",
codec_hdr->description, codec_hdr->decoder);
return(1);
return 1;
case CODEC_UNSUPPORTED:
mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "Codec (%s) is unsupported by dll\n",
codec_hdr->description);
return(0);
return 0;
case CODEC_UNKNOWN:
default:
mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "Codec (%s) is unknown by dll\n",
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')",
image_type, dith_type);
return((void*)XA_YUV_2x2_clr);
return (void*)XA_YUV_2x2_clr;
}
/* -------------------- 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)
{
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] ------------ */
@ -619,7 +619,7 @@ void XA_YUV221111_Convert(unsigned char *image_p, unsigned int imagex, unsigned
void *XA_YUV221111_Func(unsigned int 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 *** */
@ -657,7 +657,7 @@ static int init(sh_video_t *sh)
snprintf(dll, 1024, "%s/%s", def_path, sh->codec->dll);
if (xacodec_load(sh, dll) == 0)
return(0);
return 0;
codec_hdr.xapi_rev = XAVID_API_REV;
codec_hdr.anim_hdr = malloc(4096);
@ -690,13 +690,13 @@ static int init(sh_video_t *sh)
default:
mp_msg(MSGT_DECVIDEO, MSGL_FATAL, "xacodec: not supported image out format (%s)\n",
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",
codec_hdr.x, codec_hdr.y, codec_hdr.depth, codec_hdr.compression, codec_hdr.description);
if (xacodec_query(sh, &codec_hdr) == 0)
return(0);
return 0;
// 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",
strerror(errno));
return(0);
return 0;
}
priv->decinfo->cmd = 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",
&priv->decinfo->extra, (char *)priv->decinfo->extra);
return(1);
return 1;
}
// 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,...)
{
return(CONTROL_UNKNOWN);
return CONTROL_UNKNOWN;
}
/*============================================================================
@ -144,7 +144,7 @@ static int init(sh_video_t *sh)
default:
mp_msg(MSGT_DECVIDEO, MSGL_ERR, "Unsupported out_fmt: 0x%X\n",
sh->codec->outfmt[sh->outfmtidx]);
return(0);
return 0;
}
/* Gather some information about the host library */
@ -160,7 +160,7 @@ static int init(sh_video_t *sh)
/* Initialize the xvidcore library */
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
* 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 */
if(xvid_decore(0, XVID_DEC_CREATE, &dec_p, NULL)<0) {
mp_msg(MSGT_DECVIDEO, MSGL_ERR, "XviD init failed\n");
return(0);
return 0;
}
p = malloc(sizeof(priv_t));
@ -192,7 +192,7 @@ static int init(sh_video_t *sh)
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)
return(NULL);
return NULL;
memset(&dec,0,sizeof(xvid_dec_frame_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);
if (consumed < 0) {
mp_msg(MSGT_DECVIDEO, MSGL_ERR, "Decoding error\n");
return(NULL);
return NULL;
}
/* 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) {
sh->aspect = stats2aspect(&stats);
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 */
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
* 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.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