aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--AUTHORS4
-rw-r--r--DOCS/man/cs/mplayer.112
-rw-r--r--DOCS/man/de/mplayer.112
-rw-r--r--DOCS/man/en/mplayer.138
-rw-r--r--DOCS/man/es/mplayer.112
-rw-r--r--DOCS/man/fr/mplayer.165
-rw-r--r--DOCS/man/hu/mplayer.114
-rw-r--r--DOCS/man/it/mplayer.112
-rw-r--r--DOCS/man/pl/mplayer.112
-rw-r--r--DOCS/man/ru/mplayer.114
-rw-r--r--DOCS/man/zh_CN/mplayer.141
-rw-r--r--DOCS/tech/MAINTAINERS16
-rw-r--r--DOCS/tech/libao2.txt8
-rw-r--r--DOCS/tech/win32-codec-howto.txt1
-rw-r--r--DOCS/xml/cs/ports.xml2
-rw-r--r--DOCS/xml/de/ports.xml2
-rw-r--r--DOCS/xml/en/ports.xml2
-rw-r--r--DOCS/xml/fr/ports.xml2
-rw-r--r--DOCS/xml/hu/ports.xml2
-rw-r--r--DOCS/xml/pl/ports.xml2
-rw-r--r--DOCS/xml/ru/ports.xml2
-rw-r--r--Makefile547
-rwxr-xr-xTOOLS/binary_codecs.sh110
-rw-r--r--codec-cfg.c2
-rw-r--r--common.mak65
-rwxr-xr-xconfigure784
-rw-r--r--get_path.c2
-rw-r--r--get_path.h2
-rw-r--r--gui/interface.h5
-rw-r--r--help/help_mp-bg.h1
-rw-r--r--help/help_mp-cs.h1
-rw-r--r--help/help_mp-de.h3
-rw-r--r--help/help_mp-el.h1
-rw-r--r--help/help_mp-en.h1
-rw-r--r--help/help_mp-es.h1
-rw-r--r--help/help_mp-fr.h1
-rw-r--r--help/help_mp-hu.h1
-rw-r--r--help/help_mp-it.h1
-rw-r--r--help/help_mp-ja.h1
-rw-r--r--help/help_mp-ko.h1
-rw-r--r--help/help_mp-mk.h1
-rw-r--r--help/help_mp-nl.h1
-rw-r--r--help/help_mp-pl.h5
-rw-r--r--help/help_mp-ro.h1
-rw-r--r--help/help_mp-ru.h1
-rw-r--r--help/help_mp-sk.h1
-rw-r--r--help/help_mp-sv.h1
-rw-r--r--help/help_mp-tr.h1
-rw-r--r--help/help_mp-uk.h1
-rw-r--r--help/help_mp-zh_CN.h127
-rw-r--r--help/help_mp-zh_TW.h1
-rw-r--r--input/ar.c2
-rw-r--r--liba52/test.c2
-rw-r--r--libaf/af_bs2b.c138
-rw-r--r--libao2/ao_coreaudio.c (renamed from libao2/ao_macosx.c)118
-rw-r--r--libao2/ao_jack.c4
-rw-r--r--libao2/ao_pulse.c17
-rw-r--r--libao2/ao_sdl.c4
-rw-r--r--libao2/audio_out.c4
-rw-r--r--libass/ass_render.c2
-rw-r--r--libmpcodecs/ad_ffmpeg.c3
-rw-r--r--libmpcodecs/ad_qtaudio.c2
-rw-r--r--libmpcodecs/dec_audio.c1
-rw-r--r--libmpcodecs/dec_video.c1
-rw-r--r--libmpcodecs/vf_divtc.c4
-rw-r--r--libmpcodecs/vf_sab.c2
-rw-r--r--libmpcodecs/vf_zrmjpeg.c2
-rw-r--r--libmpcodecs/vqf.h18
-rw-r--r--libmpdemux/extension.c6
-rw-r--r--libmpdemux/muxer_mpeg.c2
-rw-r--r--libswscale/Makefile4
-rw-r--r--libswscale/options.c (renamed from libswscale/swscale_avoption.c)0
-rw-r--r--libswscale/rgb2rgb_template.c2
-rw-r--r--libswscale/swscale.c215
-rw-r--r--libswscale/swscale.h36
-rw-r--r--libswscale/swscale_internal.h58
-rw-r--r--libswscale/swscale_template.c100
-rw-r--r--libswscale/yuv2rgb.c9
-rw-r--r--libvo/gl_common.c17
-rw-r--r--libvo/jpeg_enc.c2
-rw-r--r--libvo/mga_common.c2
-rw-r--r--libvo/video_out.c4
-rw-r--r--libvo/vo_caca.c2
-rw-r--r--libvo/vo_corevideo.h (renamed from libvo/vo_macosx.h)4
-rw-r--r--libvo/vo_corevideo.m (renamed from libvo/vo_macosx.m)41
-rw-r--r--libvo/vo_directx.c12
-rw-r--r--libvo/vo_dxr2.c2
-rw-r--r--libvo/vo_quartz.c16
-rw-r--r--libvo/vo_tdfxfb.c2
-rw-r--r--libvo/vo_vdpau.c4
-rw-r--r--loader/dmo/dmo.c2
-rw-r--r--loader/dshow/DS_Filter.c2
-rw-r--r--loader/registry.c2
-rw-r--r--loader/vfl.c2
-rw-r--r--loader/win32.c40
-rw-r--r--mencoder.c2
-rw-r--r--mplayer.c8
-rw-r--r--osdep/timer-darwin.c6
-rw-r--r--osdep/timer-linux.c13
-rw-r--r--stream/stream_dvdnav.c20
-rw-r--r--stream/tvi_v4l2.c1
-rw-r--r--subdir.mak32
-rw-r--r--subreader.c9
-rw-r--r--vidix/sysdep/AsmMacros_powerpc.h2
-rw-r--r--vidix/sysdep/AsmMacros_x86.h4
-rw-r--r--vidix/sysdep/pci_win32.c2
106 files changed, 1594 insertions, 1363 deletions
diff --git a/AUTHORS b/AUTHORS
index 99f52fa8de..ad1883abf8 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -168,7 +168,7 @@ Bunkus, Moritz (Mosu) <moritz@bunkus.org>
Christiansen, Dan Villiom Podlaski (danchr) <danchr@daimi.au.dk>
* timer-darwin.c
- * ao_macosx
+ * CoreAudio audio output driver for Mac OS X
* build system cleanups for Darwin
Clagg, Jeff (snacky) <snacky@ikaruga.co.uk>
@@ -637,7 +637,7 @@ Pietrzak, Dariusz (Eyck) <eyck@ghost.anime.pl>
Plourde, Nicolas <nicolas.plourde@gmail.com>
* quartz video output driver for Mac OS X
- * macosx CoreVideo output driver for Mac OS X
+ * CoreVideo video output driver for Mac OS X
* Darwin VCD/SVCD support
Poettering, Lennart <mzzcynlre@0pointer.de>
diff --git a/DOCS/man/cs/mplayer.1 b/DOCS/man/cs/mplayer.1
index 9b5bbc8467..cb8d7dd8a0 100644
--- a/DOCS/man/cs/mplayer.1
+++ b/DOCS/man/cs/mplayer.1
@@ -316,7 +316,7 @@ Nastavení sytosti barev (saturation).
.PP
.RS
(Následující klávesy jsou činné pouze pokud používáte výstupní video rozhraní
-Quartz nebo macosx.)
+Quartz nebo corevideo.)
.RE
.PP
.PD 0
@@ -2632,7 +2632,7 @@ Předpočítá zpoždění zvuku, což má činit přehrávání videa plynulej
Zvukový výstup přes NAS.
.
.TP
-.B macosx (pouze Mac OS X)
+.B coreaudio (pouze Mac OS X)
Nativní Mac OS X zvuk.
.
.TP
@@ -3025,14 +3025,14 @@ Navíc pod X11 váš okenní manažer musí rozumět pokynům pro poměr stran o
.B "\-ontop\ "
Umístí okno přehrávače trvale nad ostatní okna.
Podporováno video rozhraními používajícími X11, kromě SDL,
-stejně jako directx, macosx, quartz, ggi a gl2.
+stejně jako directx, corevideo, quartz, ggi a gl2.
.
.TP
.B \-panscan <0.0\-1.0>
Zapne "přibližovací" funkci (pan-and-scan) (oříznutím videa po stranách tak,
aby např.\& film 16:9 pokryl obrazovku 4:3 bez černých okrajů).
Tato funkce pracuje pouze s video rozhraními xv, xmga, mga, gl,
-gl2, quartz, macosx a xvidix.
+gl2, quartz, corevideo a xvidix.
.br
.I POZNÁMKA:
Hodnoty mezi \-1 a 0 jsou také povoleny, ale naprosto experimenální
@@ -3059,7 +3059,7 @@ Zatím podporování pouze \-vo directx v kombinaci s volbou \-vm.
.B \-rootwin (pouze X11)
Přehraje film v kořenovém okně (pozadí desktopu).
Obrázek na ploše však může překrýt zobrazované video.
-Pracuje pouze s video rozhraními x11, xv, xmga, xvidix, quartz, macosx a directx.
+Pracuje pouze s video rozhraními x11, xv, xmga, xvidix, quartz, corevideo a directx.
.
.TP
.B \-saturation <\-100\-100>
@@ -3375,7 +3375,7 @@ Nastaví rozlišení celoobrazovkového režimu (použitelné pro pomalé systé
.PD 1
.
.TP
-.B macosx (Mac OS X 10.4 nebo 10.3.9 s QuickTime 7)
+.B corevideo (Mac OS X 10.4 nebo 10.3.9 s QuickTime 7)
Výstupní video rozhraní Mac OS X CoreVideo.
.PD 0
.RSs
diff --git a/DOCS/man/de/mplayer.1 b/DOCS/man/de/mplayer.1
index 9696f6700d..1b9f5e64c2 100644
--- a/DOCS/man/de/mplayer.1
+++ b/DOCS/man/de/mplayer.1
@@ -328,7 +328,7 @@ Passe Sttigung an.
.PP
.RS
(Die folgenden Tasten sind nur gltig bei Benutzung der Videoausgabetreiber
-quartz und macosx.)
+quartz und corevideo.)
.RE
.PP
.PD 0
@@ -2904,7 +2904,7 @@ Schtze die Audioverzgerung, sollte die Wiedergabe flssiger machen
Audioausgabe ber NAS
.
.TP
-.B macosx (nur bei Mac OS X)
+.B coreaudio (nur bei Mac OS X)
Nativer Mac OS X-Audioausgabetreiber.
.
.TP
@@ -3322,7 +3322,7 @@ Fenster-Seitenverhltnis verstehen.
.B "\-ontop\ "
Sorgt dafr, dass das Abspielfenster oberhalb von anderen Fenstern bleibt.
Wird untersttzt von Videoausgabetreibern, die X11 benutzen, auer SDL,
-auerdem directx, macosx, quartz, ggi und gl2.
+auerdem directx, corevideo, quartz, ggi und gl2.
.
.TP
.B \-panscan <0.0\-1.0>
@@ -3330,7 +3330,7 @@ Aktiviert Panscan.
Dabei werden z.B.\& bei einem 16:9-Film und einem 4:3-Monitor die Seiten
abgeschnitten, damit der komplette Bildbereich ausgefllt wird.
Der Bereich kontrolliert, wieviel vom Bild abgeschnitten wird.
-Dies funktioniert nur mit den xv-, xmga-, mga-, gl-, gl2, quartz-, macosx- und
+Dies funktioniert nur mit den xv-, xmga-, mga-, gl-, gl2, quartz-, corevideo- und
xvidix-Videoausgabetreibern.
.br
.I ANMERKUNG:
@@ -3356,7 +3356,7 @@ Momentan nur untersttzt von \-vo directx kombiniert mit der Option \-vm.
.B \-rootwin
Spielt den Film im Hauptfenster (dem Desktophintergrund) ab.
Desktophintergrundbilder knnen den Film allerdings verdecken.
-Funktioniert nur mit den x11-, xv-, xmga-, xvidix-, quartz-, macosx- und
+Funktioniert nur mit den x11-, xv-, xmga-, xvidix-, quartz-, corevideo- und
directx-Videoausgabetreibern.
.
.TP
@@ -3714,7 +3714,7 @@ Gib die Auflsung im Vollbildmodus an (ntzlich auf langsamen Systemen).
.PD 1
.
.TP
-.B macosx (Mac OS X 10.4 oder 10.3.9 mit QuickTime 7)
+.B corevideo (Mac OS X 10.4 oder 10.3.9 mit QuickTime 7)
Mac OS X CoreVideo-Videoausgabetreiber
.PD 0
.RSs
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1
index 931f9264db..8a3ac1e5a8 100644
--- a/DOCS/man/en/mplayer.1
+++ b/DOCS/man/en/mplayer.1
@@ -312,7 +312,7 @@ Adjust saturation.
.PD 1
.PP
.RS
-(The following keys are valid only when using the quartz or macosx
+(The following keys are valid only when using the quartz or corevideo
video output driver.)
.RE
.PP
@@ -1043,7 +1043,7 @@ Permit MPlayer to receive pointer events reported by the video
output driver.
Necessary to select the buttons in DVD menus.
Supported for X11 based VOs (x11, xv, xvmc, etc.) and the gl, gl2, direct3d and
-macosx VOs.
+corevideo VOs.
.
.TP
.B \-noar
@@ -2793,7 +2793,7 @@ Note that this seems unreliable and will spam stdout with server messages.
audio output through NAS
.
.TP
-.B macosx (Mac OS X only)
+.B coreaudio (Mac OS X only)
native Mac OS X audio output driver
.
.TP
@@ -3222,14 +3222,14 @@ Furthermore under X11 your window manager has to honor window aspect hints.
.B "\-ontop\ "
Makes the player window stay on top of other windows.
Supported by video output drivers which use X11, except SDL,
-as well as directx, macosx, quartz, ggi and gl2.
+as well as directx, corevideo, quartz, ggi and gl2.
.
.TP
.B \-panscan <0.0\-1.0>
Enables pan-and-scan functionality (cropping the sides of e.g.\& a 16:9
movie to make it fit a 4:3 display without black bands).
The range controls how much of the image is cropped.
-Only works with the xv, xmga, mga, gl, gl2, quartz, macosx and xvidix
+Only works with the xv, xmga, mga, gl, gl2, quartz, corevideo and xvidix
video output drivers.
.br
.I NOTE:
@@ -3255,7 +3255,7 @@ Currently only supported by \-vo directx combined with the \-vm option.
.B \-rootwin
Play movie in the root window (desktop background).
Desktop background images may cover the movie window, though.
-Only works with the x11, xv, xmga, xvidix, quartz, macosx and directx video output drivers.
+Only works with the x11, xv, xmga, xvidix, quartz, corevideo and directx video output drivers.
.
.TP
.B \-saturation <\-100\-100>
@@ -3646,7 +3646,7 @@ Specify the fullscreen resolution (useful on slow systems).
.PD 1
.
.TP
-.B macosx (Mac OS X 10.4 or 10.3.9 with QuickTime 7)
+.B corevideo (Mac OS X 10.4 or 10.3.9 with QuickTime 7)
Mac OS X CoreVideo video output driver
.PD 0
.RSs
@@ -5079,10 +5079,26 @@ head shadowing effect.
It is applicable only to 2 channel audio.
.PD 0
.RSs
-.IPs level=<1\-3>
-Set cross feed level, higher level means stronger effect (default: 3).
-.IPs profile=<0\-1>
-Select cross feed profile to use, 1 provides softer sound than 0 (default: 1).
+.IPs fcut=<300\-1000>
+Set cut frequency in Hz.
+.IPs feed=<10\-150>
+Set feed level for low frequencies in 0.1*dB.
+.IPs profile=<value>
+Several profiles are available for convenience:
+.RSs
+default: will be used if nothing else was specified (fcut=700,
+feed=45);
+.br
+cmoy: Chu Moy circuit implementation (fcut=700, feed=60);
+.br
+jmeier: Jan Meier circuit implementation (fcut=650, feed=95).
+.REss
+.PD 1
+.RE
+.sp 1
+.RS
+If fcut or feed options are specified together with a profile, they
+will be applied on top of the selected profile.
.RE
.PD 1
.
diff --git a/DOCS/man/es/mplayer.1 b/DOCS/man/es/mplayer.1
index 12aec37677..9de337057f 100644
--- a/DOCS/man/es/mplayer.1
+++ b/DOCS/man/es/mplayer.1
@@ -313,7 +313,7 @@ Ajusta la saturacin.
.PD 1
.PP
(Las siguientes teclas son vlidas nicamente cuando se usa quartz o el
-controlador de vdeo de macosx)
+controlador de vdeo de corevideo)
.PP
.PD 0
.IPs "command + 0"
@@ -2478,7 +2478,7 @@ vdeo sea ms uniforme (por defecto: activada).
Salida de audio a travs de NAS.
.
.TP
-.B macosx (Mac OS X solamente)
+.B coreaudio (Mac OS X solamente)
Controlador de salida de audio nativo Mac OS X.
.
.TP
@@ -2882,7 +2882,7 @@ de aspecto de ventana.
.TP
.B \-ontop
Hace que la ventana de reproduccin se quede por encima de las otras ventanas.
-Soportado por controladores que usen X11, excepto SDL, as como directx,macosx,
+Soportado por controladores que usen X11, excepto SDL, as como directx,corevideo,
quartz, ggi y gl2.
.
.TP
@@ -2892,7 +2892,7 @@ pelcula a 16:9 para ajustarla a una pantalla 4:3 sin bandas negras).
.br
El rango controla cunto de la imagen ser recortado.
Slo funciona con los controladores de salida de vdeo xv, xmga, mga, gl, gl2,
-quartz, macosx y xvidix.
+quartz, corevideo y xvidix.
.
.TP
.B \-panscanrange <\-19.0\-99.0> (experimental)
@@ -2915,7 +2915,7 @@ Reproduce la pelcula en la ventana raz (fondo de escritorio).
Las imgenes del fondo de escritorio pueden cubrir sin embargo a la ventana
de la pelcula.
Funciona slo con los controladores de salida de vdeo x11, xv, xmga,
-xvidix, quartz, macosx y directx.
+xvidix, quartz, corevideo y directx.
.
.TP
.B \-saturation <\-100\-100>
@@ -3249,7 +3249,7 @@ Especifica la resolucin a pantalla completa (til en sistemas lentos).
.PD 1
.
.TP
-.B macosx (Mac OS X 10.4 o 10.3.9 con QuickTime 7)
+.B corevideo (Mac OS X 10.4 o 10.3.9 con QuickTime 7)
Controlador de salida de vdeo Mac OS X CoreVideo.
.PD 0
.RSs
diff --git a/DOCS/man/fr/mplayer.1 b/DOCS/man/fr/mplayer.1
index 023641689b..a5148bb8fe 100644
--- a/DOCS/man/fr/mplayer.1
+++ b/DOCS/man/fr/mplayer.1
@@ -1,4 +1,4 @@
-.\" synced with r28958
+.\" synced with r29147
.\" Encoding: iso-8859-1
.\" MPlayer (C) 2000-2009 MPlayer Team
.\" The English man page was/is done by Gabucino, Diego Biurrun, Jonas Jermann
@@ -33,7 +33,7 @@
.\" Titre
.\" --------------------------------------------------------------------------
.
-.TH MPlayer 1 "15 janvier 2009" "The MPlayer Project" "Le Lecteur Vido"
+.TH MPlayer 1 "27 avril 2009" "The MPlayer Project" "Le Lecteur Vido"
.
.SH NAME
mplayer \- Lecteur vido
@@ -328,7 +328,7 @@ Ajuste la saturation.
.PP
.RS
(Les touches suivantes ne sont valides que lorsque le pilote de sortie
-vido quartz ou macosx est utilis.)
+vido quartz ou corevideo est utilis.)
.RE
.PP
.PD 0
@@ -1097,7 +1097,7 @@ Permet MPlayer de recevoir des vnements souris envoys
par le pilote de sortie vido.
Utilis pour slectioner les boutons des menus DVDs.
Gr par par les VOs bass sur X11 (x11, xv, xvmc, etc.) ainsi que les VOs gl,
-gl2, direct3d et macosx.
+gl2, direct3d et corevideo.
.
.TP
.B \-noar
@@ -2942,7 +2942,7 @@ de messages du serveur jackd.
sortie audio par NAS
.
.TP
-.B macosx (Mac OS X uniquement)
+.B coreaudio (Mac OS X uniquement)
pilote de sortie audio natif de Mac OS X
.TP
.B "openal\ "
@@ -3284,6 +3284,9 @@ Il gre galement le format d'option standard X11 \-geometry.
Si une fentre externe est donne par l'intermdiaire de l'option \-wid,
alors les coordonnes x et y sont relatives aux coin suprieur gauche de la
fentre au lieu celui de l'cran.
+Les coordonnes sont relatives l'cran donn par l'option \-xineramascreen
+pour les pilotes de sortie vido grant compltement l'option \-xineramascreen
+(direct3d, gl, gl2, vdpau, x11, xv, xvmc).
.br
.I NOTE:
Cette option n'est permise que par les pilotes de sortie vido x11, xmga, xv,
@@ -3383,7 +3386,7 @@ hauteur/\:largeur de fentres.
.B "\-ontop\ "
Rend la fentre de lecture toujours visible.
Permise par les pilotes de sortie vido qui utilisent X11, except SDL,
-aussi bien que directx, macosx, quartz, ggi et gl2.
+aussi bien que directx, corevideo, quartz, ggi et gl2.
.
.TP
.B \-panscan <0.0\-1.0>
@@ -3391,7 +3394,7 @@ Active la fonctionnalit "pan-and-scan" (par ex.\& couper les cts d'un
film 16/\:9e pour qu'il tienne sans bords noirs sur un cran 4/\:3)
L'intervalle dfinit quel point l'image sera coupe.
Cette option ne fonctionne qu'avec les pilotes de sortie vido xv, xmga, mga,
-gl, gl2, quartz, macosx et xvidix.
+gl, gl2, quartz, corevideo et xvidix.
.br
.I NOTE\ :
Des valeurs compris entre \-1 et 0 sont aussi permises, mais trs exprimentale,
@@ -3418,7 +3421,7 @@ N'est gr actuellement que par \-vo directx combine avec l'option \-vm.
Joue le film dans la fentre root (le fond du bureau).
Les images en fond d'cran peuvent nanmoins cacher le film.
Cette option ne fonctionne qu'avec les pilotes de sortie vido x11, xv, xmga,
-xvidix, quartz, macosx et directx.
+xvidix, quartz, corevideo et directx.
.
.TP
.B \-saturation <\-100\-100>
@@ -3478,7 +3481,7 @@ Fontionnera gnralement uniquement avec "\-fstype \-fullscreen" ou
Cette option ne convient pas pour dfinir l'cran de dmarrage (car l'affichage
se fera toujours en plein cran sur le moniteur donn), \-geometry est plus
appropri.
-Gr par les pilotes de sortie vido gl, gl2, x11, et xv.
+Gr au moins par les pilotes de sortie vido direct3d, gl, gl2, x11, et xv.
.
.TP
.B \-zrbw (\-vo zr uniquement)
@@ -3648,26 +3651,33 @@ rduction de bruit)
.IPs deint=<0\-4>
Slectionne un dsentrelaceur (par dfaut\ : 0)
Tous les modes > 0 respectent \-field\-dominance.
-.br
-.I NOTE\ :
-Les valeurs > 2 retardent la sortie vido d'une image.
.RSss
.IPs 0
pas de dsentrelacement
.IPs 1
Affiche uniquement le premier champ, comme le filtre \-vf field.
.IPs 2
-dsentrelaceur bob (solution de secours pour les dsentrelaceurs avancs).
+dsentrelaceur bob, similaire \-vf tfields=1.
.IPs 3
-Dsentrelaceur adaptation de mouvement temporel (ne fonctionne pas encore).
+Dsentrelaceur adaptation de mouvement temporel.
+Peut provoquer des dsynchronisations A/V avec les cartes vidos lentes
+et/ou avec les trop grandes rsolutions.
C'est le comportement par dfaut si "D" est utilis pour activer le
dsentrelacement.
.IPs 4
-Dsentrelaceur adaptation de mouvement temporel avec interpolation spatiale guid par les bords (ne fonctionne pas encore).
-.RE
+Dsentrelaceur adaptation de mouvement temporel avec interpolation
+spatiale guid par les bords.
+Ncessite une carte vido rapide.
+.RE
+.IPs chroma\-deint
+Ordonne au dsentrelaceurs temporels de prendre en compte la luminance et
+la chrominance (par dfaut).
+Utilisez nochroma\-deint pour ne prendre en compte que la luminance et
+acclrer le dsentrelacement.
+Utile quand la mmoire vido est lente.
.IPs pullup
Essaye d'appliquer un filtre tlcin inverse.
-Ncessite un filtre de dsentrelacement temporel.
+Ncessite un filtre de dsentrelacement adaptation de mouvement temporel.
.RE
.PD 1
.
@@ -3811,7 +3821,7 @@ Choisir la rsolution du mode plein-cran (utile sur les systmes plus lents).
.PD 1
.
.TP
-.B macosx (Mac OS X 10.4 ou 10.3.9 avec QuickTime 7)
+.B corevideo (Mac OS X 10.4 ou 10.3.9 avec QuickTime 7)
pilote de sortie vido CoreVideo pour Mac OS X
.PD 0
.RSs
@@ -5331,6 +5341,25 @@ Les valeurs utiles sont autour de 0.001.
.PD 1
.
.TP
+.B bs2b[=option1:option2]
+Transformation stereophonique vers binaurale en utilisant libbs2b.
+Amliore le confort d'coute avec un casque audio en le rendant plus
+proche du son sortant d'enceintes, permettant chaque oreille d'entendre
+les deux canaux audio tout en prenant en compte la diffrence de distance
+et les effets de masquage.
+Ne fonctionne qu'avec deux canaux audio.
+.PD 0
+.RSs
+.IPs level=<1\-3>
+Dfini le niveau de mixage entre les deux canaux, o un niveau plus lev
+signifie un effet plus prononc (par dfaut\ : 3).
+.IPs profile=<0\-1>
+Difini le profil utiliser, o 1 donne un son plus doux que 0
+(par dfaut\ : 1).
+.RE
+.PD 1
+.
+.TP
.B hrtf[=drapeau]
Convertit un son multicanaux vers 2 canaux pour un casque stro, tout en
prservant la spatialit du son.
diff --git a/DOCS/man/hu/mplayer.1 b/DOCS/man/hu/mplayer.1
index 361822da37..6e3dfd9f66 100644
--- a/DOCS/man/hu/mplayer.1
+++ b/DOCS/man/hu/mplayer.1
@@ -314,7 +314,7 @@ Szaturci belltsa.
.PD 1
.PP
.RS
-(A kvetkez billentyk csak quartz vagy macosx vide kimeneten mkdnek.)
+(A kvetkez billentyk csak quartz vagy corevideo vide kimeneten mkdnek.)
.RE
.PP
.PD 0
@@ -1041,7 +1041,7 @@ Engedlyezi az MPlayernek a pozcionl eszkz esemnyeinek fogadst,
melyeket a vide kimeneti eszkz kld.
Szksges a dvd menkben a gombok kivlasztshoz.
Az X11 alap VO-kban (x11, xv, xvmc, stb.), a gl, a gl2, a direct3d s a
-macosx VO-kban tmogatott.
+corevideo VO-kban tmogatott.
.
.TP
.B \-noar
@@ -2799,7 +2799,7 @@ Emlkezz r, hogy ez nem megbzhat s a szerver zenetek bepiszktjk az stdout
NAS-on keresztli audi kimenet
.
.TP
-.B macosx (csak Mac OS X)
+.B coreaudio (csak Mac OS X)
natv Mac OS X audi kimeneti vezrl
.
.TP
@@ -3220,14 +3220,14 @@ Tovbb X11 alatt az ablakkezeldnek is tmogatnia kell.
.B "\-ontop\ "
A lejtszsi ablak folyamatosan a tbbi ablak eltt lesz lthat.
Azok a vide kimeneti vezrlk tmogatjk, amelyek X11-et hasznlnak,
-kivve az SDL-t, valamint a directx, macosx, quartz, ggi s gl2.
+kivve az SDL-t, valamint a directx, corevideo, quartz, ggi s gl2.
.
.TP
.B \-panscan <0.0\-1.0>
Pan & Scan funkci bekapcsolsa (pl.\& egy 16:9 arny film szleinek a
levgsa, hogy elfrjen egy 4:3 arny kpernyn fekete svok nlkl)
A tartomny vezrli, hogy a kpbl mennyi kerl levgsra.
-Ez a funkci csak az xv, xmga, mga, gl, gl2, quartz, macosx s xvidix vide
+Ez a funkci csak az xv, xmga, mga, gl, gl2, quartz, corevideo s xvidix vide
kimeneti meghajtkkal mkdik.
.br
.I MEGJEGYZS:
@@ -3253,7 +3253,7 @@ Jelenleg csak a \-vo directx tmogatja a \-vm opcival egytt.
.B \-rootwin
A film root ablakban (asztal htterben) trtn lejtszsa.
Az asztalon lv httrkp kitakarhatja a filmet.
-Csak az x11, xv, xmga, xvidix, quartz, macosx s directx vide meghajtk
+Csak az x11, xv, xmga, xvidix, quartz, corevideo s directx vide meghajtk
tmogatjk.
.
.TP
@@ -3649,7 +3649,7 @@ A teljes kperny felbontsa (hasznos lass rendszereknl).
.PD 1
.
.TP
-.B macosx (Mac OS X 10.4 vagy 10.3.9 QuickTime 7-tel)
+.B corevideo (Mac OS X 10.4 vagy 10.3.9 QuickTime 7-tel)
Mac OS X CoreVideo kimeneti vide vezrl
.PD 0
.RSs
diff --git a/DOCS/man/it/mplayer.1 b/DOCS/man/it/mplayer.1
index c66c75ece9..0366db50a0 100644
--- a/DOCS/man/it/mplayer.1
+++ b/DOCS/man/it/mplayer.1
@@ -330,7 +330,7 @@ Regola la saturazione.
.PP
.RS
(I seguenti tasti sono validi solo quando si utilizza il driver di uscita
-video quartz oppure macosx.)
+video quartz oppure corevideo.)
.RE
.PP
.PD 0
@@ -2872,7 +2872,7 @@ ed uniforme (default: abilitato).
uscita audio attraverso NAS
.
.TP
-.B macosx (solo Mac OS X)
+.B coreaudio (solo Mac OS X)
driver di uscita audio nativo per Mac OS X
.
.TP
@@ -3296,7 +3296,7 @@ dell'aspetto finestra.
Rende la finestra di visualizzazione del filmato in modalit 'stay on top',
stai in cima, alle altre finestre.
Supportato dai driver di uscita video che usano X11, SDL esclusa, cos come
-da directx, macosx, quartz, ggi e gl2.
+da directx, corevideo, quartz, ggi e gl2.
.
.TP
.B \-panscan <0.0\-1.0>
@@ -3305,7 +3305,7 @@ filmato in formato 16:9 per adattarlo ad uno schermo 4:3 senza avere bande
nere)
Il parametro controlla quanto dell'immagine viene tagliato.
Questa opzione funziona solo con i driver di uscita video xv, xmga, mga,
-gl, gl2, quartz, macosx e xvidix.
+gl, gl2, quartz, corevideo e xvidix.
.br
.I NOTA:
Sono permessi anche valori compresi tra \-1 e 0, ma sono altamente sperimentali
@@ -3331,7 +3331,7 @@ l'opzione \-vm.
.B \-rootwin
Visualizza il filmato nella finestra root (lo sfondo del desktop).
L'immagine di sfondo del desktop pu per coprire la finestra del filmato.
-Funziona solo con i driver di uscita video x11, xv, xmga, xvidix, quartz, macosx e directx.
+Funziona solo con i driver di uscita video x11, xv, xmga, xvidix, quartz, corevideo e directx.
.
.TP
.B \-saturation <\-100\-100>
@@ -3681,7 +3681,7 @@ Specifica la risoluzione a schermo intero (utile su sistemi lenti).
.PD 1
.
.TP
-.B macosx (Mac OS X 10.4 oppure 10.3.9 con QuickTime 7)
+.B corevideo (Mac OS X 10.4 oppure 10.3.9 con QuickTime 7)
Driver di uscita video Mac OS X CoreVideo.
.PD 0
.RSs
diff --git a/DOCS/man/pl/mplayer.1 b/DOCS/man/pl/mplayer.1
index e905822d82..6a5df5fb74 100644
--- a/DOCS/man/pl/mplayer.1
+++ b/DOCS/man/pl/mplayer.1
@@ -334,7 +334,7 @@ Modyfikuje nasycenie.
.PD 1
.PP
(Nastpujce klawisze dziaaj tylko ze sterownikiem wyjcia video quartz lub
-macosx.)
+corevideo.)
.PP
.PD 0
.RSs
@@ -1947,7 +1947,7 @@ Ocenia opnienie audio, powinno dawa rwniejsze odtwarzanie video
przekazuje dwik przez NAS
.
.TP
-.B macosx (tylko Mac OS X)
+.B coreaudio (tylko Mac OS X)
rdzenny sterownik Mac OS X
.
.TP
@@ -2293,14 +2293,14 @@ Dodatkowo, pod X11 Twj manager okien musi rozumie zalecenia proporcji okna.
.B "\-ontop\ "
Sprawia, e okno zostaje nad innymi oknami.
Obsugiwane przez sterowniki wyjcia video uywajce X11, poza SDL
-oraz directx, macosx, quartz, ggi i gl2.
+oraz directx, corevideo, quartz, ggi i gl2.
.
.TP
.B \-panscan <0.0\-1.0>
Wcza tryb panoramiczny (obcina boki filmu np.\& 16:9 tak, by pasowa na
ekran 4:3 bez czarnych paskw).
Zasig kontroluje jak dua cz obrazu bdzie przycita.
-Dziaa tylko ze sterownikami wyjcia video xv, xmga, mga, gl, quartz, macosx i xvidix.
+Dziaa tylko ze sterownikami wyjcia video xv, xmga, mga, gl, quartz, corevideo i xvidix.
.
.TP
.B \-refreshrate <Hz>
@@ -2311,7 +2311,7 @@ Obecnie opcja ta jest obsugiwana tylko przez \-vo directx razem z \-vm.
.B \-rootwin
Odtwarza film w gwnym oknie (to pulpitu).
Jednak obrazki ta na pulpicie mog przesania okno filmu.
-Dziaa tylko ze sterownikami wyjcia video x11, xv, xmga, xvidix, quartz, macosx i directx.
+Dziaa tylko ze sterownikami wyjcia video x11, xv, xmga, xvidix, quartz, corevideo i directx.
.
.TP
.B \-saturation <\-100\-100>
@@ -2621,7 +2621,7 @@ Podaje rozdzielczo penoekranow (przydatne na wolnych systemach).
.PD 1
.
.TP
-.B macosx (Mac OS X 10.4 lub 10.3.9 z QuickTime 7)
+.B corevideo (Mac OS X 10.4 lub 10.3.9 z QuickTime 7)
sterownik wyjcia video Mac OS X CoreVideo
.PD 0
.RSs
diff --git a/DOCS/man/ru/mplayer.1 b/DOCS/man/ru/mplayer.1
index d719820930..9ab985c231 100644
--- a/DOCS/man/ru/mplayer.1
+++ b/DOCS/man/ru/mplayer.1
@@ -313,7 +313,7 @@ Stop playing (and quit if \-idle is not used).
.PD 1
.PP
.RS
-( quartz macosx).
+( quartz corevideo).
.RE
.PP
.PD 0
@@ -1000,7 +1000,7 @@ FIFO n (n\-1) .
.
DVD .
VO, X11 (x11, xv, xvmc, etc.)
- gl, gl2, direct3d macosx.
+ gl, gl2, direct3d corevideo.
.
.TP
.B \-noar
@@ -2755,7 +2755,7 @@ OSD ( : ^[[A\\r^[[K).
NAS
.
.TP
-.B macosx ( Mac OS X)
+.B coreaudio ( Mac OS X)
Mac OS X
.
.TP
@@ -3175,7 +3175,7 @@ monitoraspect (, ).
.B "\-ontop\ "
.
, X11,
- SDL, directx, macosx,
+ SDL, directx, corevideo,
quartz, ggi gl2.
.
.TP
@@ -3183,7 +3183,7 @@ quartz, ggi gl2.
pan\-and\-scan (
, , 16:9, 4:3
). .
- xv, xmga, mga, gl, gl2, quartz, macosx xvidix .
+ xv, xmga, mga, gl, gl2, quartz, corevideo xvidix .
.br
.I NOTE:
\-1 0 ,
@@ -3209,7 +3209,7 @@ quartz, ggi gl2.
.B \-rootwin
( ).
, .
- x11, xv, xmga, xvidix, quartz, macosx directx .
+ x11, xv, xmga, xvidix, quartz, corevideo directx .
.
.TP
.B \-saturation <\-100\-100>
@@ -3625,7 +3625,7 @@ Windows VIDIX.
.PD 1
.
.TP
-.B macosx (Mac OS X 10.4 10.3.9 QuickTime 7)
+.B corevideo (Mac OS X 10.4 10.3.9 QuickTime 7)
Mac OS X CoreVideo.
.PD 0
.RSs
diff --git a/DOCS/man/zh_CN/mplayer.1 b/DOCS/man/zh_CN/mplayer.1
index 6d6b31f66b..ee11109347 100644
--- a/DOCS/man/zh_CN/mplayer.1
+++ b/DOCS/man/zh_CN/mplayer.1
@@ -1,4 +1,4 @@
-.\" sync with en/mplayer.1 r29133
+.\" sync with en/mplayer.1 r29252
.\" Encoding: UTF-8
.\" Reminder of hard terms which need better/final solution later:
.\" /capture; playtree in parent list; colorkey; retrace; desync; downmix;
@@ -314,7 +314,7 @@ MPlayer 有个完全可配置的, 命令驱动的控制层,
.PD 1
.PP
.RS
-(以下的按键仅适用于 quartz or macosx 视频输出驱动。)
+(以下按键仅在使用 quartz 或 corevideo 视频输出驱动时有效。)
.RE
.PP
.PD 0
@@ -989,7 +989,7 @@ n 大小的 FIFO 能容纳 (n\-1) 缓冲事件。
.B \-mouse\-movements
允许 MPlayer 接收来自视频输出驱动的指针事件。
必须选择 DVD 菜单中的按钮。
-支持基于 X11 的视频输出(x11、xv、xvmc等)以及 gl、gl2、direct3d 和 macosx 的视频输出
+支持基于 X11 的视频输出(x11、xv、xvmc等)以及 gl、gl2、direct3d 和 corevideo 的视频输出
.
.TP
.B \-noar
@@ -2598,8 +2598,8 @@ OSS 音频输出驱动
音频输出通过 NAS
.
.TP
-.B macosx (仅用于 Mac OS X)
-原生 Mac OS X 音频输出驱动
+.B coreaudio(仅适用于 Mac OS X)
+Mac OS X 自带的音频输出驱动
.
.TP
.B "openal\ "
@@ -3007,14 +3007,14 @@ gl、gl2、directx、fbdev 和 tdfxfb 视频输出驱动支持。
.TP
.B "\-ontop\ "
使得此播放器窗口位于其他窗口之上。
-视频输出驱动使用 X11 的, 除了 SDL, 还有使用 directx, macosx, quartz,
+视频输出驱动使用 X11 的, 除了 SDL, 还有使用 directx, corevideo, quartz,
ggi 和 gl2 的都支持此功能。
.
.TP
.B \-panscan <0.0\-1.0>
启用 pan-and-scan 功能 (裁减如 16:9 电影的边适应 4:3 显示不带黑边)。
范围参数值用来控制裁减多少图像。
-只能与 xv, xmga, mga, gl, gl2, quartz, macosx 和 xvidix 的
+只能与 xv, xmga, mga, gl, gl2, quartz, corevideo 和 xvidix 的
视频输出驱动一起工作。
.br
.I 注意:
@@ -3038,7 +3038,7 @@ ggi 和 gl2 的都支持此功能。
.B \-rootwin
在根窗口(桌面背景)中播放电影。
虽然桌面背景图像可能盖住电影窗口。
-只能与 x11, xv, xmga, xvidix, quartz, macosx 和 directx 的
+只能与 x11, xv, xmga, xvidix, quartz, corevideo 和 directx 的
视频输出驱动一起工作。
.
.TP
@@ -3397,7 +3397,7 @@ Mac OS X Quartz 视频输出驱动。
.PD 1
.
.TP
-.B macosx (Mac OS X 10.4 或 10.3.9 的 QuickTime 7)
+.B corevideo (Mac OS X 10.4 或 10.3.9 的 QuickTime 7)
Mac OS X CoreVideo 视频输出驱动
.PD 0
.RSs
@@ -4754,10 +4754,25 @@ delta 的正弦, 使用非常低的值听此扫听(sweep)。
该选项只能应用于 2 个声道的音频。
.PD 0
.RSs
-.IPs level=<1\-3>
-设置交叉反馈的级别,级别越高效果越强(默认值:3)。
-.IPs profile=<0\-1>
-选择所选用的交叉反馈配置,配置 1 输出的声音比配置 0 柔和(默认值:1)。
+.IPs fcut=<300\-1000>
+设置以 Hz 为单位的切换频率。
+.IPs feed=<10\-150>
+设置以 0.1*dB 为单位的用于低频率的反馈级别。
+.IPs profile=<value>
+有许多配置可供方便选用:
+.RSs
+默认配置:如果未指定其它参数将被使用(fcut=700,feed=45);
+.br
+cmoy:Chu Moy 回路实现方案(fcut=700,feed=60);
+.br
+jmeier:Jan Meier 回路实现方案(fcut=650,feed=95)。
+.REss
+.PD 1
+.RE
+.sp 1
+.RS
+如果同时指定了 fcut 或 feed 选项与配置,则这两个选项将覆盖配置中选项的值。
+.RE
.RE
.PD 1
.
diff --git a/DOCS/tech/MAINTAINERS b/DOCS/tech/MAINTAINERS
index 68b0768bc4..680906e4e2 100644
--- a/DOCS/tech/MAINTAINERS
+++ b/DOCS/tech/MAINTAINERS
@@ -43,9 +43,7 @@ Man page translations:
* Italian: Daniele Forghieri
* Polish: Waclaw Schiller
* Spanish: Reynaldo H. Verdejo Pinochet (outdated)
- * Chinese: unmaintained, outdated
- * Swedish: unmaintained, outdated, incomplete
- * Russian: Vladimir Voroshilov (incomplete)
+ * Russian: Vladimir Voroshilov
Documentation translations:
* Czech: Jiri Heryan
@@ -55,8 +53,8 @@ Documentation translations:
* Italian: Paolo Tresoldi
* Polish: Waclaw Schiller
* Spanish: Reynaldo H. Verdejo Pinochet (outdated)
- * Chinese (simplified): unmaintained, outdated, still HTML
- * Italian: unmaintained, outdated, still HTML
+ * Chinese (simplified): unmaintained, outdated
+ * Italian: unmaintained, outdated
* Russian: Vladimir Voroshilov
Platforms/ports:
@@ -68,8 +66,8 @@ Platforms/ports:
* OpenBSD: Björn Sandell
* Solaris: Derek Lewis
* Win32/Cygwin/MinGW: Sascha Sommer, Joey Parrish
- * MPlayer OS X frontend: Nicolas Plourde
- * Mac OS X: Ulion
+ * MPlayer OS X frontend: Nicolas Plourde, Adrian Stutz
+ * Mac OS X: None
* AIX: Derek Lewis
MPlayer code:
@@ -158,6 +156,7 @@ libvo drivers:
* vo_aa.c - Alban Bedel
* vo_caca.c - Howell Tam (Pigeon)
* vo_bl.c - Rik Snel
+ * vo_corevideo.m - Adrian Stutz
* vo_cvidix.c - Sascha Sommer
* vo_dga.c - None
* vo_dfbmga.c - Ville Syrjälä
@@ -174,7 +173,6 @@ libvo drivers:
* vo_gl2.c - Reimar Döffinger
* vo_ivtv.c - Benjamin Zores
* vo_jpeg.c - Ivo van Poorten
- * vo_macosx.m - Ulion
* vo_md5sum.c - Ivo van Poorten
* vo_mga.c - Attila Kinali
* vo_mpegpes.c - None
@@ -206,12 +204,12 @@ libao2 drivers:
* ao_alsa5.c - None
* ao_alsa.c - Clemens Ladisch
* ao_arts.c - None
+ * ao_coreaudio.c - None
* ao_dsound.c - None
* ao_dxr2.c - None
* ao_esd.c - None
* ao_ivtv.c - Benjamin Zores
* ao_jack.c - Reimar Döffinger
- * ao_macosx.c - Ulion
* ao_mpegpes.c - None
* ao_nas.c - Tobias Diedrich
* ao_null.c - None
diff --git a/DOCS/tech/libao2.txt b/DOCS/tech/libao2.txt
index e2a530050d..ba8317e056 100644
--- a/DOCS/tech/libao2.txt
+++ b/DOCS/tech/libao2.txt
@@ -12,16 +12,16 @@ static int init(int rate,int channels,int format,int flags);
Sample format: usually AFMT_S16_LE or AFMT_U8, for more definitions see
dec_audio.c and linux/soundcards.h files!
-static void uninit();
+static void uninit(void);
Guess what.
Ok I help: closes the device, not (yet) called when exit.
-static void reset();
+static void reset(void);
Resets device. To be exact, it's for deleting buffers' contents,
so after reset() the previously received stuff won't be output.
(called if pause or seek)
-static int get_space();
+static int get_space(void);
Returns how many bytes can be written into the audio buffer without
blocking (making caller process wait). MPlayer occasionally checks the
remaining space and tries to fill the buffer with play() if there's free
@@ -41,7 +41,7 @@ static int play(void* data,int len,int flags);
rounded down to 0 or the data will never be played (as MPlayer will never
call play() with a larger len).
-static float get_delay();
+static float get_delay(void);
Returns how long time it will take to play the data currently in the
output buffer. Be exact, if possible, since the whole timing depends
on this! In the worst case, return the maximum delay.
diff --git a/DOCS/tech/win32-codec-howto.txt b/DOCS/tech/win32-codec-howto.txt
index e6a684df32..458a9191b3 100644
--- a/DOCS/tech/win32-codec-howto.txt
+++ b/DOCS/tech/win32-codec-howto.txt
@@ -41,7 +41,6 @@ ACM Codecs:
MPlayer may fail at playing the audio in your file with this message:
Cannot find codec for audio format 0x55.
-Read DOCS/HTML/en/codecs.html!
Audio: no sound
MPlayer calls this the TwoCC format identifier. From the TwoCC list we find:
diff --git a/DOCS/xml/cs/ports.xml b/DOCS/xml/cs/ports.xml
index 5e628d3fdd..c6de31b8e2 100644
--- a/DOCS/xml/cs/ports.xml
+++ b/DOCS/xml/cs/ports.xml
@@ -740,7 +740,7 @@ GCC 3.x a vyšších.
Základní prostředí pro kompilaci můžete získat instalací
<ulink url="http://developer.apple.com/tools/download/">Xcode</ulink>
od Apple. Máte-li Mac OS X 10.3.9 nebo pozdější a QuickTime 7
-můžete použít výstupní video rozhraní <option>macosx</option>.
+můžete použít výstupní video rozhraní <option>corevideo</option>.
</para>
<para>
diff --git a/DOCS/xml/de/ports.xml b/DOCS/xml/de/ports.xml
index c9638a8f02..6e6c85a56d 100644
--- a/DOCS/xml/de/ports.xml
+++ b/DOCS/xml/de/ports.xml
@@ -718,7 +718,7 @@ Segmentation fault</screen>
<ulink url="http://developer.apple.com/tools/download/">Xcode</ulink>
von Apple installierst.
Besitzt du Mac OS X 10.3.9 oder später und QuickTime 7
- kannst du den Videoausgabetreiber <option>macosx</option> verwenden.
+ kannst du den Videoausgabetreiber <option>corevideo</option> verwenden.
</para>
<para>
diff --git a/DOCS/xml/en/ports.xml b/DOCS/xml/en/ports.xml
index abf5c17f72..f90cec3332 100644
--- a/DOCS/xml/en/ports.xml
+++ b/DOCS/xml/en/ports.xml
@@ -694,7 +694,7 @@ GCC 3.x or later.
You can get the basic compilation environment by installing Apple's
<ulink url="http://developer.apple.com/tools/download/">Xcode</ulink>.
If you have Mac OS X 10.3.9 or later and QuickTime 7
-you can use the <option>macosx</option> video output driver.
+you can use the <option>corevideo</option> video output driver.
</para>
<para>
diff --git a/DOCS/xml/fr/ports.xml b/DOCS/xml/fr/ports.xml
index 8d5cb8b9e2..7b628368dd 100644
--- a/DOCS/xml/fr/ports.xml
+++ b/DOCS/xml/fr/ports.xml
@@ -740,7 +740,7 @@ Le compilateur préféré étant la version Apple de GCC 3.x ou supérieure.
Vous pouvez obtenir l'environement de compilation de base en
installant <ulink url="http://developer.apple.com/tools/download/">Xcode</ulink> de Apple.
Si vous avez Mac OS X 10.3.9 ou supérieur et QuickTime 7
-vous pouvez utiliser le pilote macosx de sortie vidéo.
+vous pouvez utiliser le pilote corevideo de sortie vidéo.
</para>
<para>
Malheureusement, cet environement de base ne vous autorise pas à
diff --git a/DOCS/xml/hu/ports.xml b/DOCS/xml/hu/ports.xml
index 2a52ae9f71..f000f67194 100644
--- a/DOCS/xml/hu/ports.xml
+++ b/DOCS/xml/hu/ports.xml
@@ -694,7 +694,7 @@ Az alap fordítási környezetet az Apple
<ulink url="http://developer.apple.com/tools/download/">Xcode</ulink>
telepítésével kapod meg.
Ha Mac OS X 10.3.9 vagy régebbi verziód és QuickTime 7-esed van,
-használhatod a <option>macosx</option> videó kimeneti vezérlőt is.
+használhatod a <option>corevideo</option> videó kimeneti vezérlőt is.
</para>
<para>
diff --git a/DOCS/xml/pl/ports.xml b/DOCS/xml/pl/ports.xml
index 1495a0394d..9de674c9ea 100644
--- a/DOCS/xml/pl/ports.xml
+++ b/DOCS/xml/pl/ports.xml
@@ -693,7 +693,7 @@ wyższym. Zalecanym kompilatorem jest GCC 3.x w wersji Apple.
Możesz otrzymać podstawowe środowisko do kompilacji, instalując
<ulink url="http://developer.apple.com/tools/download/">Xcode</ulink> od Apple.
Jeżeli masz Mac OS X 10.3.9 lub późniejszy i QuickTime 7, możesz
-skorzystać ze sterownika wyjścia video <option>macosx</option>.
+skorzystać ze sterownika wyjścia video <option>corevideo</option>.
</para>
<para>
diff --git a/DOCS/xml/ru/ports.xml b/DOCS/xml/ru/ports.xml
index 266b3a155d..ce0b6f527d 100644
--- a/DOCS/xml/ru/ports.xml
+++ b/DOCS/xml/ru/ports.xml
@@ -726,7 +726,7 @@ mplayer dvd://<replaceable>&lt;title&gt;</replaceable> -dvd-device <replaceable>
для компиляции, установив Apple'овский
<ulink url="http://developer.apple.com/tools/download/">Xcode</ulink>.
Если у вас Mac OS X 10.3.9 или выше и QuickTime 7, можете использовать
-драйвер видео вывода <option>macosx</option>.
+драйвер видео вывода <option>corevideo</option>.
</para>
<para>
diff --git a/Makefile b/Makefile
index d884632178..9d342f651c 100644
--- a/Makefile
+++ b/Makefile
@@ -33,200 +33,10 @@ LDFLAGS_MPLAYER = $(EXTRALIBS_MPLAYER) \
LDFLAGS_MENCODER = $(EXTRALIBS_MENCODER) \
$(COMMON_LDFLAGS) \
-SRCS_COMMON = asxparser.c \
- codec-cfg.c \
- cpudetect.c \
- defaultopts.c \
- edl.c \
- find_sub.c \
- fmt-conversion.c \
- get_path.c \
- m_config.c \
- m_option.c \
- m_struct.c \
- mpcommon.c \
- parser-cfg.c \
- playtree.c \
- playtreeparser.c \
- spudec.c \
- sub_cc.c \
- subopt-helper.c \
- subreader.c \
- talloc.c \
- vobsub.c \
- libaf/af.c \
- libaf/af_center.c \
- libaf/af_channels.c \
- libaf/af_comp.c \
- libaf/af_delay.c \
- libaf/af_dummy.c \
- libaf/af_equalizer.c \
- libaf/af_extrastereo.c \
- libaf/af_format.c \
- libaf/af_gate.c \
- libaf/af_hrtf.c \
- libaf/af_karaoke.c \
- libaf/af_pan.c \
- libaf/af_resample.c \
- libaf/af_scaletempo.c \
- libaf/af_sinesuppress.c \
- libaf/af_stats.c \
- libaf/af_sub.c \
- libaf/af_surround.c \
- libaf/af_sweep.c \
- libaf/af_tools.c \
- libaf/af_volnorm.c \
- libaf/af_volume.c \
- libaf/filter.c \
- libaf/format.c \
- libaf/reorder_ch.c \
- libaf/window.c \
- libmpcodecs/ad.c \
- libmpcodecs/ad_alaw.c \
- libmpcodecs/ad_dk3adpcm.c \
- libmpcodecs/ad_dvdpcm.c \
- libmpcodecs/ad_hwmpa.c \
- libmpcodecs/ad_imaadpcm.c \
- libmpcodecs/ad_msadpcm.c \
- libmpcodecs/ad_msgsm.c \
- libmpcodecs/ad_pcm.c \
- libmpcodecs/dec_audio.c \
- libmpcodecs/dec_video.c \
- libmpcodecs/img_format.c \
- libmpcodecs/mp_image.c \
- libmpcodecs/native/xa_gsm.c \
- libmpcodecs/pullup.c \
- libmpcodecs/vd.c \
- libmpcodecs/vd_hmblck.c \
- libmpcodecs/vd_lzo.c \
- libmpcodecs/vd_mpegpes.c \
- libmpcodecs/vd_mtga.c \
- libmpcodecs/vd_null.c \
- libmpcodecs/vd_raw.c \
- libmpcodecs/vd_sgi.c \
- libmpcodecs/vf.c \
- libmpcodecs/vf_1bpp.c \
- libmpcodecs/vf_2xsai.c \
- libmpcodecs/vf_blackframe.c \
- libmpcodecs/vf_boxblur.c \
- libmpcodecs/vf_crop.c \
- libmpcodecs/vf_cropdetect.c \
- libmpcodecs/vf_decimate.c \
- libmpcodecs/vf_delogo.c \
- libmpcodecs/vf_denoise3d.c \
- libmpcodecs/vf_detc.c \
- libmpcodecs/vf_dint.c \
- libmpcodecs/vf_divtc.c \
- libmpcodecs/vf_down3dright.c \
- libmpcodecs/vf_dsize.c \
- libmpcodecs/vf_dvbscale.c \
- libmpcodecs/vf_eq.c \
- libmpcodecs/vf_eq2.c \
- libmpcodecs/vf_expand.c \
- libmpcodecs/vf_field.c \
- libmpcodecs/vf_fil.c \
- libmpcodecs/vf_filmdint.c \
- libmpcodecs/vf_flip.c \
- libmpcodecs/vf_format.c \
- libmpcodecs/vf_framestep.c \
- libmpcodecs/vf_halfpack.c \
- libmpcodecs/vf_harddup.c \
- libmpcodecs/vf_hqdn3d.c \
- libmpcodecs/vf_hue.c \
- libmpcodecs/vf_il.c \
- libmpcodecs/vf_ilpack.c \
- libmpcodecs/vf_ivtc.c \
- libmpcodecs/vf_kerndeint.c \
- libmpcodecs/vf_mirror.c \
- libmpcodecs/vf_noformat.c \
- libmpcodecs/vf_noise.c \
- libmpcodecs/vf_ow.c \
- libmpcodecs/vf_palette.c \
- libmpcodecs/vf_perspective.c \
- libmpcodecs/vf_phase.c \
- libmpcodecs/vf_pp7.c \
- libmpcodecs/vf_pullup.c \
- libmpcodecs/vf_rectangle.c \
- libmpcodecs/vf_remove_logo.c \
- libmpcodecs/vf_rgb2bgr.c \
- libmpcodecs/vf_rgbtest.c \
- libmpcodecs/vf_rotate.c \
- libmpcodecs/vf_sab.c \
- libmpcodecs/vf_scale.c \
- libmpcodecs/vf_smartblur.c \
- libmpcodecs/vf_softpulldown.c \
- libmpcodecs/vf_softskip.c \
- libmpcodecs/vf_swapuv.c \
- libmpcodecs/vf_telecine.c \
- libmpcodecs/vf_test.c \
- libmpcodecs/vf_tfields.c \
- libmpcodecs/vf_tile.c \
- libmpcodecs/vf_tinterlace.c \
- libmpcodecs/vf_unsharp.c \
- libmpcodecs/vf_vo.c \
- libmpcodecs/vf_yadif.c \
- libmpcodecs/vf_yuvcsp.c \
- libmpcodecs/vf_yuy2.c \
- libmpcodecs/vf_yvu9.c \
- libmpdemux/aac_hdr.c \
- libmpdemux/asfheader.c \
- libmpdemux/aviheader.c \
- libmpdemux/aviprint.c \
- libmpdemux/demuxer.c \
- libmpdemux/demux_aac.c \
- libmpdemux/demux_asf.c \
- libmpdemux/demux_audio.c \
- libmpdemux/demux_avi.c \
- libmpdemux/demux_demuxers.c \
- libmpdemux/demux_film.c \
- libmpdemux/demux_fli.c \
- libmpdemux/demux_lmlm4.c \
- libmpdemux/demux_mf.c \
- libmpdemux/demux_mkv.c \
- libmpdemux/demux_mov.c \
- libmpdemux/demux_mpg.c \
- libmpdemux/demux_nsv.c \
- libmpdemux/demux_pva.c \
- libmpdemux/demux_rawaudio.c \
- libmpdemux/demux_rawvideo.c \
- libmpdemux/demux_realaud.c \
- libmpdemux/demux_real.c \
- libmpdemux/demux_roq.c \
- libmpdemux/demux_smjpeg.c \
- libmpdemux/demux_ts.c \
- libmpdemux/demux_ty.c \
- libmpdemux/demux_ty_osd.c \
- libmpdemux/demux_viv.c \
- libmpdemux/demux_vqf.c \
- libmpdemux/demux_y4m.c \
- libmpdemux/ebml.c \
- libmpdemux/extension.c \
- libmpdemux/mf.c \
- libmpdemux/mp3_hdr.c \
- libmpdemux/mp_taglists.c \
- libmpdemux/mpeg_hdr.c \
- libmpdemux/mpeg_packetizer.c \
- libmpdemux/parse_es.c \
- libmpdemux/parse_mp4.c \
- libmpdemux/video.c \
- libmpdemux/yuv4mpeg.c \
- libmpdemux/yuv4mpeg_ratio.c \
- libvo/osd.c \
- libvo/sub.c \
- osdep/findfiles.c \
- osdep/$(GETCH) \
- osdep/$(TIMER) \
- stream/open.c \
- stream/stream.c \
- stream/stream_cue.c \
- stream/stream_file.c \
- stream/stream_mf.c \
- stream/stream_null.c \
- stream/url.c \
-
-SRCS_COMMON-$(AUDIO_INPUT)-$(ALSA1X) += stream/ai_alsa1x.c
-SRCS_COMMON-$(AUDIO_INPUT)-$(ALSA9) += stream/ai_alsa.c
-SRCS_COMMON-$(AUDIO_INPUT)-$(OSS) += stream/ai_oss.c
+SRCS_AUDIO_INPUT-$(ALSA1X) += stream/ai_alsa1x.c
+SRCS_AUDIO_INPUT-$(ALSA9) += stream/ai_alsa.c
+SRCS_AUDIO_INPUT-$(OSS) += stream/ai_oss.c
+SRCS_COMMON-$(AUDIO_INPUT) += $(SRCS_AUDIO_INPUT-yes)
SRCS_COMMON-$(BITMAP_FONT) += libvo/font_load.c
SRCS_COMMON-$(CDDA) += stream/stream_cdda.c \
stream/cdinfo.c
@@ -356,6 +166,16 @@ SRCS_COMMON-$(LIBDVDCSS_INTERNAL) += libdvdcss/css.c \
libdvdcss/libdvdcss.c \
SRCS_COMMON-$(LIBMAD) += libmpcodecs/ad_libmad.c
+
+SRCS_LIBMPEG2-$(ARCH_ALPHA) += libmpeg2/idct_alpha.c \
+ libmpeg2/motion_comp_alpha.c
+SRCS_LIBMPEG2-$(ARCH_ARM) += libmpeg2/motion_comp_arm.c \
+ libmpeg2/motion_comp_arm_s.S
+SRCS_LIBMPEG2-$(HAVE_ALTIVEC) += libmpeg2/idct_altivec.c \
+ libmpeg2/motion_comp_altivec.c
+SRCS_LIBMPEG2-$(HAVE_MMX) += libmpeg2/idct_mmx.c \
+ libmpeg2/motion_comp_mmx.c
+SRCS_LIBMPEG2-$(HAVE_VIS) += libmpeg2/motion_comp_vis.c
SRCS_COMMON-$(LIBMPEG2) += libmpcodecs/vd_libmpeg2.c \
libmpeg2/alloc.c \
libmpeg2/cpu_accel.c\
@@ -364,16 +184,9 @@ SRCS_COMMON-$(LIBMPEG2) += libmpcodecs/vd_libmpeg2.c \
libmpeg2/header.c \
libmpeg2/idct.c \
libmpeg2/motion_comp.c \
- libmpeg2/slice.c
-SRCS_COMMON-$(LIBMPEG2)-$(ARCH_ALPHA) += libmpeg2/idct_alpha.c \
- libmpeg2/motion_comp_alpha.c
-SRCS_COMMON-$(LIBMPEG2)-$(ARCH_ARM) += libmpeg2/motion_comp_arm.c \
- libmpeg2/motion_comp_arm_s.S
-SRCS_COMMON-$(LIBMPEG2)-$(HAVE_ALTIVEC) += libmpeg2/idct_altivec.c \
- libmpeg2/motion_comp_altivec.c
-SRCS_COMMON-$(LIBMPEG2)-$(HAVE_MMX) += libmpeg2/idct_mmx.c \
- libmpeg2/motion_comp_mmx.c
-SRCS_COMMON-$(LIBMPEG2)-$(HAVE_VIS) += libmpeg2/motion_comp_vis.c
+ libmpeg2/slice.c \
+ $(SRCS_LIBMPEG2-yes)
+
SRCS_COMMON-$(LIBNEMESI) += libmpdemux/demux_nemesi.c \
stream/stream_nemesi.c
SRCS_COMMON-$(LIBNUT) += libmpdemux/demux_nut.c
@@ -387,16 +200,20 @@ SRCS_COMMON-$(LIVE555) += libmpdemux/demux_rtp.cpp \
stream/stream_live555.c
SRCS_COMMON-$(MACOSX_FINDER) += osdep/macosx_finder_args.c
SRCS_COMMON-$(MNG) += libmpdemux/demux_mng.c
-SRCS_COMMON-$(MP3LIB) += libmpcodecs/ad_mp3lib.c mp3lib/sr1.c
-SRCS_COMMON-$(MP3LIB)-$(ARCH_X86_32) += mp3lib/decode_i586.c
-SRCS_COMMON-$(MP3LIB)-$(ARCH_X86_32)-$(HAVE_AMD3DNOW) += mp3lib/dct36_3dnow.c \
- mp3lib/dct64_3dnow.c
-SRCS_COMMON-$(MP3LIB)-$(ARCH_X86_32)-$(HAVE_AMD3DNOWEXT) += mp3lib/dct36_k7.c \
- mp3lib/dct64_k7.c
-SRCS_COMMON-$(MP3LIB)-$(ARCH_X86_32)-$(HAVE_MMX) += mp3lib/dct64_mmx.c
-SRCS_COMMON-$(MP3LIB)-$(HAVE_ALTIVEC) += mp3lib/dct64_altivec.c
-SRCS_COMMON-$(MP3LIB)-$(HAVE_MMX) += mp3lib/decode_mmx.c
-SRCS_COMMON-$(MP3LIB)-$(HAVE_SSE) += mp3lib/dct64_sse.c
+
+SRCS_MP3LIB-X86-$(HAVE_AMD3DNOW) += mp3lib/dct36_3dnow.c \
+ mp3lib/dct64_3dnow.c
+SRCS_MP3LIB-X86-$(HAVE_AMD3DNOWEXT) += mp3lib/dct36_k7.c \
+ mp3lib/dct64_k7.c
+SRCS_MP3LIB-X86-$(HAVE_MMX) += mp3lib/dct64_mmx.c
+SRCS_MP3LIB-$(ARCH_X86_32) += mp3lib/decode_i586.c \
+ $(SRCS_MP3LIB-X86-yes)
+SRCS_MP3LIB-$(HAVE_ALTIVEC) += mp3lib/dct64_altivec.c
+SRCS_MP3LIB-$(HAVE_MMX) += mp3lib/decode_mmx.c
+SRCS_MP3LIB-$(HAVE_SSE) += mp3lib/dct64_sse.c
+SRCS_COMMON-$(MP3LIB) += libmpcodecs/ad_mp3lib.c mp3lib/sr1.c \
+ $(SRCS_MP3LIB-yes)
+
SRCS_COMMON-$(MUSEPACK) += libmpcodecs/ad_mpc.c \
libmpdemux/demux_mpc.c
SRCS_COMMON-$(NATIVE_RTSP) += stream/stream_rtsp.c \
@@ -514,26 +331,198 @@ SRCS_COMMON-$(XMMS_PLUGINS) += libmpdemux/demux_xmms.c
SRCS_COMMON-$(XVID4) += libmpcodecs/vd_xvid4.c
SRCS_COMMON-$(ZR) += libmpcodecs/vd_zrmjpeg.c \
libmpcodecs/vf_zrmjpeg.c
+SRCS_COMMON = asxparser.c \
+ codec-cfg.c \
+ cpudetect.c \
+ defaultopts.c \
+ edl.c \
+ find_sub.c \
+ fmt-conversion.c \
+ get_path.c \
+ m_config.c \
+ m_option.c \
+ m_struct.c \
+ mpcommon.c \
+ parser-cfg.c \
+ playtree.c \
+ playtreeparser.c \
+ spudec.c \
+ sub_cc.c \
+ subopt-helper.c \
+ subreader.c \
+ talloc.c \
+ vobsub.c \
+ libaf/af.c \
+ libaf/af_center.c \
+ libaf/af_channels.c \
+ libaf/af_comp.c \
+ libaf/af_delay.c \
+ libaf/af_dummy.c \
+ libaf/af_equalizer.c \
+ libaf/af_extrastereo.c \
+ libaf/af_format.c \
+ libaf/af_gate.c \
+ libaf/af_hrtf.c \
+ libaf/af_karaoke.c \
+ libaf/af_pan.c \
+ libaf/af_resample.c \
+ libaf/af_scaletempo.c \
+ libaf/af_sinesuppress.c \
+ libaf/af_stats.c \
+ libaf/af_sub.c \
+ libaf/af_surround.c \
+ libaf/af_sweep.c \
+ libaf/af_tools.c \
+ libaf/af_volnorm.c \
+ libaf/af_volume.c \
+ libaf/filter.c \
+ libaf/format.c \
+ libaf/reorder_ch.c \
+ libaf/window.c \
+ libmpcodecs/ad.c \
+ libmpcodecs/ad_alaw.c \
+ libmpcodecs/ad_dk3adpcm.c \
+ libmpcodecs/ad_dvdpcm.c \
+ libmpcodecs/ad_hwmpa.c \
+ libmpcodecs/ad_imaadpcm.c \
+ libmpcodecs/ad_msadpcm.c \
+ libmpcodecs/ad_msgsm.c \
+ libmpcodecs/ad_pcm.c \
+ libmpcodecs/dec_audio.c \
+ libmpcodecs/dec_video.c \
+ libmpcodecs/img_format.c \
+ libmpcodecs/mp_image.c \
+ libmpcodecs/native/xa_gsm.c \
+ libmpcodecs/pullup.c \
+ libmpcodecs/vd.c \
+ libmpcodecs/vd_hmblck.c \
+ libmpcodecs/vd_lzo.c \
+ libmpcodecs/vd_mpegpes.c \
+ libmpcodecs/vd_mtga.c \
+ libmpcodecs/vd_null.c \
+ libmpcodecs/vd_raw.c \
+ libmpcodecs/vd_sgi.c \
+ libmpcodecs/vf.c \
+ libmpcodecs/vf_1bpp.c \
+ libmpcodecs/vf_2xsai.c \
+ libmpcodecs/vf_blackframe.c \
+ libmpcodecs/vf_boxblur.c \
+ libmpcodecs/vf_crop.c \
+ libmpcodecs/vf_cropdetect.c \
+ libmpcodecs/vf_decimate.c \
+ libmpcodecs/vf_delogo.c \
+ libmpcodecs/vf_denoise3d.c \
+ libmpcodecs/vf_detc.c \
+ libmpcodecs/vf_dint.c \
+ libmpcodecs/vf_divtc.c \
+ libmpcodecs/vf_down3dright.c \
+ libmpcodecs/vf_dsize.c \
+ libmpcodecs/vf_dvbscale.c \
+ libmpcodecs/vf_eq.c \
+ libmpcodecs/vf_eq2.c \
+ libmpcodecs/vf_expand.c \
+ libmpcodecs/vf_field.c \
+ libmpcodecs/vf_fil.c \
+ libmpcodecs/vf_filmdint.c \
+ libmpcodecs/vf_flip.c \
+ libmpcodecs/vf_format.c \
+ libmpcodecs/vf_framestep.c \
+ libmpcodecs/vf_halfpack.c \
+ libmpcodecs/vf_harddup.c \
+ libmpcodecs/vf_hqdn3d.c \
+ libmpcodecs/vf_hue.c \
+ libmpcodecs/vf_il.c \
+ libmpcodecs/vf_ilpack.c \
+ libmpcodecs/vf_ivtc.c \
+ libmpcodecs/vf_kerndeint.c \
+ libmpcodecs/vf_mirror.c \
+ libmpcodecs/vf_noformat.c \
+ libmpcodecs/vf_noise.c \
+ libmpcodecs/vf_ow.c \
+ libmpcodecs/vf_palette.c \
+ libmpcodecs/vf_perspective.c \
+ libmpcodecs/vf_phase.c \
+ libmpcodecs/vf_pp7.c \
+ libmpcodecs/vf_pullup.c \
+ libmpcodecs/vf_rectangle.c \
+ libmpcodecs/vf_remove_logo.c \
+ libmpcodecs/vf_rgb2bgr.c \
+ libmpcodecs/vf_rgbtest.c \
+ libmpcodecs/vf_rotate.c \
+ libmpcodecs/vf_sab.c \
+ libmpcodecs/vf_scale.c \
+ libmpcodecs/vf_smartblur.c \
+ libmpcodecs/vf_softpulldown.c \
+ libmpcodecs/vf_softskip.c \
+ libmpcodecs/vf_swapuv.c \
+ libmpcodecs/vf_telecine.c \
+ libmpcodecs/vf_test.c \
+ libmpcodecs/vf_tfields.c \
+ libmpcodecs/vf_tile.c \
+ libmpcodecs/vf_tinterlace.c \
+ libmpcodecs/vf_unsharp.c \
+ libmpcodecs/vf_vo.c \
+ libmpcodecs/vf_yadif.c \
+ libmpcodecs/vf_yuvcsp.c \
+ libmpcodecs/vf_yuy2.c \
+ libmpcodecs/vf_yvu9.c \
+ libmpdemux/aac_hdr.c \
+ libmpdemux/asfheader.c \
+ libmpdemux/aviheader.c \
+ libmpdemux/aviprint.c \
+ libmpdemux/demuxer.c \
+ libmpdemux/demux_aac.c \
+ libmpdemux/demux_asf.c \
+ libmpdemux/demux_audio.c \
+ libmpdemux/demux_avi.c \
+ libmpdemux/demux_demuxers.c \
+ libmpdemux/demux_film.c \
+ libmpdemux/demux_fli.c \
+ libmpdemux/demux_lmlm4.c \
+ libmpdemux/demux_mf.c \
+ libmpdemux/demux_mkv.c \
+ libmpdemux/demux_mov.c \
+ libmpdemux/demux_mpg.c \
+ libmpdemux/demux_nsv.c \
+ libmpdemux/demux_pva.c \
+ libmpdemux/demux_rawaudio.c \
+ libmpdemux/demux_rawvideo.c \
+ libmpdemux/demux_realaud.c \
+ libmpdemux/demux_real.c \
+ libmpdemux/demux_roq.c \
+ libmpdemux/demux_smjpeg.c \
+ libmpdemux/demux_ts.c \
+ libmpdemux/demux_ty.c \
+ libmpdemux/demux_ty_osd.c \
+ libmpdemux/demux_viv.c \
+ libmpdemux/demux_vqf.c \
+ libmpdemux/demux_y4m.c \
+ libmpdemux/ebml.c \
+ libmpdemux/extension.c \
+ libmpdemux/mf.c \
+ libmpdemux/mp3_hdr.c \
+ libmpdemux/mp_taglists.c \
+ libmpdemux/mpeg_hdr.c \
+ libmpdemux/mpeg_packetizer.c \
+ libmpdemux/parse_es.c \
+ libmpdemux/parse_mp4.c \
+ libmpdemux/video.c \
+ libmpdemux/yuv4mpeg.c \
+ libmpdemux/yuv4mpeg_ratio.c \
+ libvo/osd.c \
+ libvo/sub.c \
+ osdep/findfiles.c \
+ osdep/$(GETCH) \
+ osdep/$(TIMER) \
+ stream/open.c \
+ stream/stream.c \
+ stream/stream_cue.c \
+ stream/stream_file.c \
+ stream/stream_mf.c \
+ stream/stream_null.c \
+ stream/url.c \
+ $(SRCS_COMMON-yes)
-SRCS_MPLAYER = mplayer.c \
- m_property.c \
- mp_fifo.c \
- mp_msg.c \
- mixer.c \
- parser-mpcmd.c \
- command.c \
- input/input.c \
- libao2/audio_out.c \
- libao2/ao_mpegpes.c \
- libao2/ao_null.c \
- libao2/ao_pcm.c \
- libvo/aspect.c \
- libvo/geometry.c \
- libvo/old_vo_wrapper.c \
- libvo/spuenc.c \
- libvo/video_out.c \
- libvo/vo_mpegpes.c \
- libvo/vo_null.c \
SRCS_MPLAYER-$(3DFX) += libvo/vo_3dfx.c
SRCS_MPLAYER-$(AA) += libvo/vo_aa.c
@@ -545,8 +534,8 @@ SRCS_MPLAYER-$(APPLE_REMOTE) += input/ar.c
SRCS_MPLAYER-$(ARTS) += libao2/ao_arts.c
SRCS_MPLAYER-$(BL) += libvo/vo_bl.c
SRCS_MPLAYER-$(CACA) += libvo/vo_caca.c
-SRCS_MPLAYER-$(COREAUDIO) += libao2/ao_macosx.c
-SRCS_MPLAYER-$(COREVIDEO) += libvo/vo_macosx.m
+SRCS_MPLAYER-$(COREAUDIO) += libao2/ao_coreaudio.c
+SRCS_MPLAYER-$(COREVIDEO) += libvo/vo_corevideo.m
SRCS_MPLAYER-$(DART) += libao2/ao_dart.c
SRCS_MPLAYER-$(DFBMGA) += libvo/vo_dfbmga.c
SRCS_MPLAYER-$(DGA) += libvo/vo_dga.c
@@ -672,19 +661,27 @@ SRCS_MPLAYER-$(XVR100) += libvo/vo_xvr100.c
SRCS_MPLAYER-$(YUV4MPEG) += libvo/vo_yuv4mpeg.c
SRCS_MPLAYER-$(ZR) += libvo/jpeg_enc.c libvo/vo_zr.c libvo/vo_zr2.c
-SRCS_MENCODER = mencoder.c \
- mp_msg-mencoder.c \
- parser-mecmd.c \
- xvid_vbr.c \
- libmpcodecs/ae.c \
- libmpcodecs/ae_pcm.c \
- libmpcodecs/ve.c \
- libmpcodecs/ve_raw.c \
- libmpdemux/muxer.c \
- libmpdemux/muxer_avi.c \
- libmpdemux/muxer_mpeg.c \
- libmpdemux/muxer_rawaudio.c \
- libmpdemux/muxer_rawvideo.c \
+SRCS_MPLAYER = mplayer.c \
+ m_property.c \
+ mp_fifo.c \
+ mp_msg.c \
+ mixer.c \
+ parser-mpcmd.c \
+ command.c \
+ input/input.c \
+ libao2/audio_out.c \
+ libao2/ao_mpegpes.c \
+ libao2/ao_null.c \
+ libao2/ao_pcm.c \
+ libvo/aspect.c \
+ libvo/geometry.c \
+ libvo/old_vo_wrapper.c \
+ libvo/spuenc.c \
+ libvo/video_out.c \
+ libvo/vo_mpegpes.c \
+ libvo/vo_null.c \
+ $(SRCS_MPLAYER-yes)
+
SRCS_MENCODER-$(FAAC) += libmpcodecs/ae_faac.c
SRCS_MENCODER-$(LIBAVCODEC) += libmpcodecs/ae_lavc.c libmpcodecs/ve_lavc.c
@@ -699,9 +696,21 @@ SRCS_MENCODER-$(WIN32DLL) += libmpcodecs/ve_vfw.c
SRCS_MENCODER-$(X264) += libmpcodecs/ve_x264.c
SRCS_MENCODER-$(XVID4) += libmpcodecs/ve_xvid4.c
-SRCS_COMMON += $(SRCS_COMMON-yes) $(SRCS_COMMON-yes-yes) $(SRCS_COMMON-yes-yes-yes)
-SRCS_MENCODER += $(SRCS_MENCODER-yes)
-SRCS_MPLAYER += $(SRCS_MPLAYER-yes)
+SRCS_MENCODER = mencoder.c \
+ mp_msg-mencoder.c \
+ parser-mecmd.c \
+ xvid_vbr.c \
+ libmpcodecs/ae.c \
+ libmpcodecs/ae_pcm.c \
+ libmpcodecs/ve.c \
+ libmpcodecs/ve_raw.c \
+ libmpdemux/muxer.c \
+ libmpdemux/muxer_avi.c \
+ libmpdemux/muxer_mpeg.c \
+ libmpdemux/muxer_rawaudio.c \
+ libmpdemux/muxer_rawvideo.c \
+ $(SRCS_MENCODER-yes)
+
COMMON_LIBS-$(LIBAVFORMAT_A) += ffmpeg/libavformat/libavformat.a
COMMON_LIBS-$(LIBAVCODEC_A) += ffmpeg/libavcodec/libavcodec.a
@@ -789,14 +798,18 @@ DIRS = . \
ALLHEADERS = $(foreach dir,$(DIRS),$(wildcard $(dir)/*.h))
-PARTS = ffmpeg/libavcodec \
- ffmpeg/libavformat \
- ffmpeg/libavutil \
- ffmpeg/libpostproc \
- libswscale \
+ADDSUFFIXES = $(foreach suf,$(1),$(addsuffix $(suf),$(2)))
+ADD_ALL_DIRS = $(call ADDSUFFIXES,$(1),$(DIRS))
+ADD_ALL_EXESUFS = $(1) $(call ADDSUFFIXES,$(EXESUFS_ALL),$(1))
+
+FFMPEGPARTS = ffmpeg/libavcodec \
+ ffmpeg/libavformat \
+ ffmpeg/libavutil \
+ ffmpeg/libpostproc \
+ libswscale \
-FFMPEGLIBS = $(foreach part, $(PARTS), $(part)/$(notdir $(part)).a)
-FFMPEGFILES = $(foreach part, $(PARTS), $(part)/*.[choS]) ffmpeg/libavcodec/*/*.[choS] ffmpeg/libavcodec/*/*.asm
+FFMPEGLIBS = $(foreach part, $(FFMPEGPARTS), $(part)/$(notdir $(part)).a)
+FFMPEGFILES = $(foreach part, $(FFMPEGPARTS), $(wildcard $(part)/*.[choS] $(part)/*/*.[choS] $(part)/*/*.asm))
@@ -822,7 +835,7 @@ all: $(ALL_PRG-yes)
checkheaders: $(ALLHEADERS:.h=.ho)
dep depend: $(DEPS)
- for part in $(PARTS); do $(MAKE) -C $$part depend; done
+ for part in $(FFMPEGPARTS); do $(MAKE) -C $$part depend; done
# dummy to prevent default build rules from being used for FFMPEGFILES
$(FFMPEGFILES):
@@ -869,7 +882,7 @@ version.h: version.sh
# Make sure all generated header files are created.
codec-cfg.d codec-cfg.o: codecs.conf.h
$(DEPS) $(MENCODER_DEPS) $(MPLAYER_DEPS): help_mp.h
-mpcommon.d mpcommon.o vobsub.d vobsub.o stream/stream_cddb.d stream/stream_cddb.o stream/network.d stream/network.o libmpdemux/muxer_avi.d libmpdemux/muxer_avi.o gui/win32/gui.d gui/win32/gui.o: version.h
+$(call ADDSUFFIXES,.d .o,mpcommon vobsub stream/stream_cddb stream/network libmpdemux/muxer_avi gui/win32/gui): version.h
libdvdcss/%: CFLAGS += -D__USE_UNIX98 -D_GNU_SOURCE -DVERSION=\"1.2.10\" $(CFLAGS_LIBDVDCSS)
libdvdnav/%: CFLAGS += -D__USE_UNIX98 -D_GNU_SOURCE -DHAVE_CONFIG_H -DVERSION=\"MPlayer-custom\"
@@ -961,18 +974,16 @@ uninstall:
rm -f $(MANDIR)/man1/mplayer.1 $(MANDIR)/man1/mencoder.1
rm -f $(foreach lang,$(MAN_LANGS),$(foreach man,mplayer.1 mencoder.1,$(MANDIR)/$(lang)/man1/$(man)))
-ADD_ALL_EXESUFS = $(foreach exesuf,$(EXESUFS_ALL),$(1) $(1)$(exesuf))
-
clean:
- -rm -f $(foreach dir,$(DIRS),$(foreach suffix,/*.o /*.a /*.ho /*~, $(addsuffix $(suffix),$(dir))))
- -rm -f $(foreach file,mplayer mencoder,$(call ADD_ALL_EXESUFS,$(file)))
+ -rm -f $(call ADD_ALL_DIRS,/*.o /*.a /*.ho /*~)
+ -rm -f $(call ADD_ALL_EXESUFS,mplayer mencoder)
distclean: clean testsclean toolsclean driversclean dhahelperclean dhahelperwinclean
-rm -rf DOCS/tech/doxygen
- -rm -f $(foreach dir,$(DIRS),$(foreach suffix,/*.d, $(addsuffix $(suffix),$(dir))))
+ -rm -f $(call ADD_ALL_DIRS,/*.d)
-rm -f configure.log config.mak config.h codecs.conf.h help_mp.h \
version.h $(VIDIX_PCI_FILES) TAGS tags
- -rm -f $(foreach file,codec-cfg cpuinfo,$(call ADD_ALL_EXESUFS,$(file)))
+ -rm -f $(call ADD_ALL_EXESUFS,codec-cfg cpuinfo)
doxygen:
doxygen DOCS/tech/Doxyfile
@@ -1016,7 +1027,7 @@ endif
tests: $(addsuffix $(EXESUF),$(TESTS))
testsclean:
- -rm -f $(foreach file,$(TESTS),$(call ADD_ALL_EXESUFS,$(file)))
+ -rm -f $(call ADD_ALL_EXESUFS,$(TESTS))
TOOLS = $(addprefix TOOLS/,alaw-gen asfinfo avi-fix avisubdump compare dump_mp4 movinfo netstream subrip vivodump)
@@ -1030,7 +1041,7 @@ tools: $(addsuffix $(EXESUF),$(TOOLS))
alltools: $(addsuffix $(EXESUF),$(ALLTOOLS))
toolsclean:
- -rm -f $(foreach file,$(ALLTOOLS),$(call ADD_ALL_EXESUFS,$(file)))
+ -rm -f $(call ADD_ALL_EXESUFS,$(ALLTOOLS))
-rm -f TOOLS/realcodecs/*.so.6.0
TOOLS/bmovl-test$(EXESUF): -lSDL_image
diff --git a/TOOLS/binary_codecs.sh b/TOOLS/binary_codecs.sh
index c4ab61cf4b..410bede0f5 100755
--- a/TOOLS/binary_codecs.sh
+++ b/TOOLS/binary_codecs.sh
@@ -1,9 +1,12 @@
#!/bin/sh
set -e
+# avoid insecure tempfile creation
+umask 0022
+
# This script will download binary codecs for MPlayer unto a Debian system.
-# Author: thuglife, mennucc1
+# Author: thuglife, mennucc1
#
CODECDIR=/usr/lib/codecs
@@ -22,23 +25,24 @@ choosemirror ()
{
cd $PREFDIR
- #if [ ! -r mirrors ] || find mirrors -mtime +20 ; then
- echo Downloading mirrors list..
+ #if [ ! -r mirrors ] || find mirrors -mtime +20 ; then
+ echo "Downloading mirrors list"
wget -nv -c -N $MYSITE/mirrors || true
#fi
if [ ! -r bestsites ] || [ mirrors -nt bestsites ] || \
- find bestsites -mtime +20 > /dev/null ; then
- if which netselect > /dev/null ; then
- echo Choosing best mirrors using netselect....
- netselect -s 5 $( cat mirrors ) | awk '{print $2}' > bestsites
+ find bestsites -mtime +20 | grep -q bestsites ; then
+ if which netselect > /dev/null ; then
+ echo Choosing best mirrors using netselect
+ netselect -s 5 -t 5 $( cat mirrors ) | awk '{print $2}' > bestsites
elif which fping > /dev/null ; then
- fping -C 1 $( sed 's#.*//##;s#/.*##' mirrors ) 2>&1 | \
- egrep -v 'bytes.*loss' | sort -n -k3 | \
- grep -v ': *-' | awk '/:/{print $1}' | head -5 > bestsites
+ fping -C 1 $( sed 's#.*//##;s#/.*##' mirrors ) 2>&1 | \
+ egrep -v 'bytes.*loss' | sort -n -k3 | \
+ grep -v ': *-' | awk '/:/{print $1}' | head -5 | ( while read mainsite ; do
+ grep $mainsite $PREFDIR/mirrors ; done ) > bestsites
else
- echo "(If you install 'netselect', it will select the best mirror for you"
+ echo "(If you install 'netselect' or 'fping', it will select the best mirror for you"
echo " you may wish to stop this script and rerun after installation)"
- sleep 5
+ sleep 3
head -3 mirrors > bestsites
fi
fi
@@ -54,24 +58,22 @@ INSTALL () {
cd $CODECDIR/mplayer_binary_codecs
if [ -r $filename ] ; then
- cp $filename $filename.bak
+ cp $filename $filename.bak
fi
- if [ "$url" = @MAINSITE@ ] ; then
- cat $PREFDIR/bestsites | while read mainsite ; do
+ if [ "$url" = @MAINSITE@ ] ; then
+ cat $PREFDIR/bestsites | while read mainsite ; do
echo Downloading $filename from $mainsite ...
- wget -v -c -N $mainsite/$dir/$filename || true
+ wget -c -N $mainsite/$dir/$filename || true
if [ -r "$filename" ] ; then
UNPACK "$filename"
- [ -r $filename.bak ] && rm $filename.bak
return 0
fi
done
else
- wget -v -c -N $url/$dir/$filename || true
- if [ -r "$filename" ] ; then
+ wget -c -N $url/$dir/$filename || true
+ if [ -r "$filename" ] ; then
UNPACK "$filename"
- [ -r $filename.bak ] && rm $filename.bak
return 0
fi
fi
@@ -83,28 +85,41 @@ INSTALL () {
UNPACK ()
{
filename="$1"
- if [ ! -r $filename.bak ] || ! cmp $filename.bak $filename ; then
- echo Installing $filename ...
- if [ -r $filename.list ] ; then
- tr '\n' '\000' < $filename.list | xargs -r0 rm || true
+ if [ -r $filename.bak ] && cmp $filename.bak $filename && [ -r $filename.list ] ; then
+ echo It appears that $filename was already succesfully installed
+ [ -r $filename.bak ] && rm $filename.bak
+ else
+ if grep -q " $filename$" $PREFDIR/MD5SUMS ; then
+ echo Checking MD5 for $filename
+ grep " $filename$" $PREFDIR/MD5SUMS | md5sum -c -
+ else
+ echo Warning: no MD5 for $filename were found. Hit enter to continue.
+ read dummy
+ fi
+ echo Installing $filename ...
+ if [ -r $filename.list ] ; then
+ tr '\n' '\000' < $filename.list | xargs -r0 rm || true
UNLINK $filename.list
rm $filename.list
fi
+ tarfail () { echo FAILED $filename ; rm $filename.list ; exit 1 ; }
+
case "$filename" in
*.tar.gz)
- tar xvzf $filename > $filename.list
+ tar xvzf $filename > $filename.list || tarfail
#rm $filename
;;
*.tgz)
- tar xvzf $filename > $filename.list
+ tar xvzf $filename > $filename.list || tarfail
#rm $filename
;;
*.tar.bz2)
- tar --bzip2 -xvf $filename > $filename.list
+ tar --bzip2 -xvf $filename > $filename.list || tarfail
#rm $filename
;;
esac
+ [ -r $filename.bak ] && rm $filename.bak
LINK $filename.list
echo "Installed $filename Succesfully!"
fi
@@ -135,22 +150,51 @@ fi
case "$1" in
install)
+ if test -x /bin/bzip2 || test -x /usr/bin/bzip2 ; then : ; else
+ echo You need to install bzip2
+ exit 1
+ fi
choosemirror
cd $PREFDIR
- #if [ ! -r codecs_list ] || find codecs_list -mtime +20 ; then
- echo 'Getting codecs list ...'
+ #if [ ! -r codecs_list ] || find codecs_list -mtime +20 ; then
+ echo "Getting codecs list"
wget -nv -c -N $MYSITE/codecs_list || true
#fi
- if grep -q "^$dpkgarch" $PREFDIR/codecs_list ] ; then
+ cd $PREFDIR
+ echo Downloading MD5 sums from main site
+ [ -r MD5SUMS ] && mv MD5SUMS MD5SUMS.bak
+ if wget -nv -N http://www.mplayerhq.hu/MPlayer/releases/codecs/MD5SUMS ; then
+ [ -r MD5SUMS.bak ] && rm MD5SUMS.bak
+ else
+ echo "failed"
+ if [ -r MD5SUMS.bak ] ; then
+ echo "trying to use backup"
+ mv MD5SUMS.bak MD5SUMS
+ fi
+ fi
+
+ if grep -q "^$dpkgarch" $PREFDIR/codecs_list ; then
egrep -v "^[[:space:]]*(#|$)" $PREFDIR/codecs_list | \
while read arch url dir file info ; do
if [ "$dpkgarch" = "$arch" ]; then
- echo Installing $file $info...
- INSTALL "$url" "$dir" "$file"
- n=1
+ echo Downloading and installing $file $info...
+ INSTALL "$url" "$dir" "$file"
fi
done
+ needlibstd=no
+ test "$dpkgarch" = "powerpc" && needlibstd=yes
+ test "$dpkgarch" = "i386" && needlibstd=yes
+ if test "$needlibstd" = "yes" && ! test -r /usr/lib/libstdc++.so.5 ; then
+ echo "Warning: you need to install libstdc++ 5 libraries"
+ echo -n "Do it now? "
+ read R
+ case $R in
+ y*) apt-get install libstdc++5 ;;
+ *) echo "If you change your mind, use the command"
+ echo " apt-get install libstdc++5" ;;
+ esac
+ fi
else
echo "Sorry, no codecs for your arch '$dpkgarch'. Sorry dude :("
exit 1
diff --git a/codec-cfg.c b/codec-cfg.c
index 1de5d052c7..8956d96601 100644
--- a/codec-cfg.c
+++ b/codec-cfg.c
@@ -959,7 +959,7 @@ void skiphtml(FILE *f1){
}
}
-static void print_int_array(const int* a, int size)
+static void print_int_array(const unsigned int* a, int size)
{
printf("{ ");
while (size--)
diff --git a/common.mak b/common.mak
index 82f88fdbee..35f7a0adef 100644
--- a/common.mak
+++ b/common.mak
@@ -5,9 +5,9 @@
all: # make "all" default target
ifndef SUBDIR
-vpath %.c $(SRC_DIR)
-vpath %.h $(SRC_DIR)
-vpath %.S $(SRC_DIR)
+vpath %.c $(SRC_DIR)
+vpath %.h $(SRC_DIR)
+vpath %.S $(SRC_DIR)
vpath %.asm $(SRC_DIR)
ifeq ($(SRC_DIR),$(SRC_PATH_BARE))
@@ -18,14 +18,13 @@ endif
ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale
-CFLAGS := -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
- -I$(BUILD_ROOT_REL) -I$(SRC_PATH) -I$(SRC_PATH)/ffmpeg $(OPTFLAGS)
+CFLAGS := -DHAVE_AV_CONFIG_H -I$(BUILD_ROOT_REL) -I$(SRC_PATH) -I$(SRC_PATH)/ffmpeg $(OPTFLAGS)
%.o: %.c
$(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ -MD -MP -MF $*.d $<
%.o: %.S
- $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ -MD -MP -MF $*.d $<
+ $(AS) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ -MD -MP -MF $*.d $<
%.ho: %.h
$(CC) $(CFLAGS) $(LIBOBJFLAGS) -Wno-unused -c -o $@ -x c $<
@@ -37,28 +36,31 @@ ifeq ($(wildcard $(SVN_ENTRIES)),$(SVN_ENTRIES))
$(BUILD_ROOT_REL)/version.h: $(SVN_ENTRIES)
endif
-$(BUILD_ROOT_REL)/version.h: $(SRC_PATH_BARE)/version.sh
+$(BUILD_ROOT_REL)/version.h: $(SRC_PATH_BARE)/version.sh config.mak
$< $(SRC_PATH) $@ $(EXTRA_VERSION)
install: install-libs install-headers
uninstall: uninstall-libs uninstall-headers
-.PHONY: all depend dep clean distclean install* uninstall* tests
+.PHONY: all depend dep *clean install* uninstall* examples testprogs
endif
-CFLAGS += $(CFLAGS-yes)
-OBJS += $(OBJS-yes)
-FFLIBS := $(FFLIBS-yes) $(FFLIBS)
-TESTS += $(TESTS-yes)
+OBJS-$(HAVE_MMX) += $(MMX-OBJS-yes)
+
+CFLAGS += $(CFLAGS-yes)
+OBJS += $(OBJS-yes)
+FFLIBS := $(FFLIBS-yes) $(FFLIBS)
+TESTPROGS += $(TESTPROGS-yes)
FFEXTRALIBS := $(addprefix -l,$(addsuffix $(BUILDSUF),$(FFLIBS))) $(EXTRALIBS)
-FFLDFLAGS := $(addprefix -L$(BUILD_ROOT)/lib,$(FFLIBS)) $(LDFLAGS)
+FFLDFLAGS := $(addprefix -L$(BUILD_ROOT)/lib,$(ALLFFLIBS)) $(LDFLAGS)
-OBJS := $(addprefix $(SUBDIR),$(OBJS))
-TESTS := $(addprefix $(SUBDIR),$(TESTS))
+EXAMPLES := $(addprefix $(SUBDIR),$(addsuffix -example$(EXESUF),$(EXAMPLES)))
+OBJS := $(addprefix $(SUBDIR),$(OBJS))
+TESTPROGS := $(addprefix $(SUBDIR),$(addsuffix -test$(EXESUF),$(TESTPROGS)))
-DEP_LIBS:=$(foreach NAME,$(FFLIBS),lib$(NAME)/$($(BUILD_SHARED:yes=S)LIBNAME))
+DEP_LIBS := $(foreach NAME,$(FFLIBS),lib$(NAME)/$($(BUILD_SHARED:yes=S)LIBNAME))
ALLHEADERS := $(subst $(SRC_DIR)/,$(SUBDIR),$(wildcard $(SRC_DIR)/*.h $(SRC_DIR)/$(ARCH)/*.h))
checkheaders: $(filter-out %_template.ho,$(ALLHEADERS:.h=.ho))
@@ -66,35 +68,8 @@ checkheaders: $(filter-out %_template.ho,$(ALLHEADERS:.h=.ho))
DEPS := $(OBJS:.o=.d)
depend dep: $(DEPS)
-CLEANSUFFIXES = *.o *~ *.ho
-LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp *.map
+CLEANSUFFIXES = *.o *~ *.ho
DISTCLEANSUFFIXES = *.d *.pc
-
-define RULES
-$(SUBDIR)%$(EXESUF): $(SUBDIR)%.o
- $(CC) $(FFLDFLAGS) -o $$@ $$^ $(SUBDIR)$(LIBNAME) $(FFEXTRALIBS)
-
-$(SUBDIR)%-test.o: $(SUBDIR)%.c
- $(CC) $(CFLAGS) -DTEST -c -o $$@ $$^
-
-$(SUBDIR)%-test.o: $(SUBDIR)%-test.c
- $(CC) $(CFLAGS) -DTEST -c -o $$@ $$^
-
-$(SUBDIR)x86/%.o: $(SUBDIR)x86/%.asm
- $(YASM) $(YASMFLAGS) -I $$(<D)/ -o $$@ $$<
- $(YASM) $(YASMFLAGS) -I $$(<D)/ -M -o $$@ $$< > $$(@:%.o=%.d)
-
-clean::
- rm -f $(TESTS) $(addprefix $(SUBDIR),$(CLEANFILES) $(CLEANSUFFIXES) $(LIBSUFFIXES)) \
- $(addprefix $(SUBDIR), $(foreach suffix,$(CLEANSUFFIXES),$(addsuffix /$(suffix),$(DIRS))))
-
-distclean:: clean
- rm -f $(addprefix $(SUBDIR),$(DISTCLEANSUFFIXES)) \
- $(addprefix $(SUBDIR), $(foreach suffix,$(DISTCLEANSUFFIXES),$(addsuffix /$(suffix),$(DIRS))))
-endef
-
-$(eval $(RULES))
-
-tests: $(TESTS)
+LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp *.map
-include $(DEPS)
diff --git a/configure b/configure
index 020fb4ab95..f2c3f2f592 100755
--- a/configure
+++ b/configure
@@ -108,28 +108,28 @@ die () {
# OS test booleans functions
issystem() {
- test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
+ test "$(echo $system_name | tr A-Z a-z)" = "$(echo $1 | tr A-Z a-z)"
}
-linux() { issystem "Linux" || issystem "uClinux" ; return "$?" ; }
-sunos() { issystem "SunOS" ; return "$?" ; }
-hpux() { issystem "HP-UX" ; return "$?" ; }
-irix() { issystem "IRIX" ; return "$?" ; }
-aix() { issystem "AIX" ; return "$?" ; }
-cygwin() { issystem "CYGWIN" ; return "$?" ; }
-freebsd() { issystem "FreeBSD" || issystem "GNU/kFreeBSD"; return "$?" ; }
-netbsd() { issystem "NetBSD" ; return "$?" ; }
-bsdos() { issystem "BSD/OS" ; return "$?" ; }
-openbsd() { issystem "OpenBSD" ; return "$?" ; }
-dragonfly() { issystem "DragonFly" ; return "$?" ; }
-qnx() { issystem "QNX" ; return "$?" ; }
-darwin() { issystem "Darwin" ; return "$?" ; }
-gnu() { issystem "GNU" ; return "$?" ; }
-mingw32() { issystem "MINGW32" ; return "$?" ; }
-morphos() { issystem "MorphOS" ; return "$?" ; }
-amigaos() { issystem "AmigaOS" ; return "$?" ; }
-win32() { cygwin || mingw32 ; return "$?" ; }
-beos() { issystem "BEOS" ; return "$?" ; }
-os2() { issystem "OS/2" ; return "$?" ; }
+aix() { issystem "AIX"; }
+amigaos() { issystem "AmigaOS"; }
+beos() { issystem "BEOS"; }
+bsdos() { issystem "BSD/OS"; }
+cygwin() { issystem "CYGWIN"; }
+darwin() { issystem "Darwin"; }
+dragonfly() { issystem "DragonFly"; }
+freebsd() { issystem "FreeBSD" || issystem "GNU/kFreeBSD"; }
+gnu() { issystem "GNU"; }
+hpux() { issystem "HP-UX"; }
+irix() { issystem "IRIX"; }
+linux() { issystem "Linux"; }
+mingw32() { issystem "MINGW32"; }
+morphos() { issystem "MorphOS"; }
+netbsd() { issystem "NetBSD"; }
+openbsd() { issystem "OpenBSD"; }
+os2() { issystem "OS/2"; }
+qnx() { issystem "QNX"; }
+sunos() { issystem "SunOS"; }
+win32() { cygwin || mingw32; }
# arch test boolean functions
# x86/x86pc is used by QNX
@@ -192,14 +192,14 @@ echores() {
#############################################################################
# Check how echo works in this /bin/sh
-case `echo -n` in
+case $(echo -n) in
-n) _echo_n= _echo_c='\c' ;; # SysV echo
*) _echo_n='-n ' _echo_c= ;; # BSD echo
esac
-msg_lang_all=`echo help/help_mp-??.h help/help_mp-??_??.h | sed -e "s:help/help_mp-\(..\).h:\1:g" -e "s:help/help_mp-\(.....\).h:\1:g"`
-man_lang_all=`echo DOCS/man/??/mplayer.1 DOCS/man/??_??/mplayer.1 | sed -e "s:DOCS/man/\(..\)/mplayer.1:\1:g" -e "s:DOCS/man/\(.._..\)/mplayer.1:\1:g"`
-doc_lang_all=`echo DOCS/xml/??/ DOCS/xml/??_??/ | sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g"`
+msg_lang_all=$(echo help/help_mp-??.h help/help_mp-??_??.h | sed -e "s:help/help_mp-\(..\).h:\1:g" -e "s:help/help_mp-\(.....\).h:\1:g")
+man_lang_all=$(echo DOCS/man/??/mplayer.1 DOCS/man/??_??/mplayer.1 | sed -e "s:DOCS/man/\(..\)/mplayer.1:\1:g" -e "s:DOCS/man/\(.._..\)/mplayer.1:\1:g")
+doc_lang_all=$(echo DOCS/xml/??/ DOCS/xml/??_??/ | sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g")
show_help(){
cat << EOF
@@ -256,6 +256,7 @@ Optional features:
--enable-smb enable Samba (SMB) input [autodetect]
--enable-live enable LIVE555 Streaming Media [autodetect]
--enable-nemesi enable Nemesi Streaming Media [autodetect]
+ --disable-vcd disable VCD support [autodetect]
--disable-dvdnav disable libdvdnav [autodetect]
--disable-dvdread disable libdvdread [autodetect]
--disable-dvdread-internal disable internal libdvdread [autodetect]
@@ -270,7 +271,6 @@ Optional features:
--disable-sortsub disable subtitle sorting [enabled]
--enable-fribidi enable the FriBiDi libs [autodetect]
--disable-enca disable ENCA charset oracle library [autodetect]
- --disable-macosx disable Mac OS X specific features [autodetect]
--disable-maemo disable maemo specific features [autodetect]
--enable-macosx-finder enable Mac OS X Finder invocation parameter
parsing [disabled]
@@ -337,8 +337,8 @@ Codecs:
--enable-xmms enable XMMS input plugin support [disabled]
--enable-libdca enable libdca support [autodetect]
--disable-mp3lib disable builtin mp3lib [autodetect]
- --disable-liba52 disable liba52 [autodetect]
- --disable-liba52-internal disable builtin liba52 [autodetect]
+ --disable-liba52 disable liba52 [autodetect]
+ --disable-liba52-internal disable builtin liba52 [autodetect]
--disable-libmpeg2 disable builtin libmpeg2 [autodetect]
--disable-musepack disable musepack support [autodetect]
--disable-libamr_nb disable libamr narrowband [autodetect]
@@ -406,6 +406,8 @@ Video output:
--disable-pnm disable PNM video output [enable]
--disable-md5sum disable md5sum video output [enable]
--disable-yuv4mpeg disable yuv4mpeg video output [enable]
+ --disable-corevideo disable CoreVideo video output [autodetect]
+ --disable-quartz disable Quartz video output [autodetect]
Audio output:
--disable-alsa disable ALSA audio output [autodetect]
@@ -420,6 +422,7 @@ Audio output:
--disable-sunaudio disable Sun audio output [autodetect]
--disable-dart disable DART audio output [autodetect]
--disable-win32waveout disable Windows waveout audio output [autodetect]
+ --disable-coreaudio disable CoreAudio audio output [autodetect]
--disable-select disable using select() on the audio device [enable]
Miscellaneous options:
@@ -526,19 +529,19 @@ _libavutil_so=auto
_libavcodec_a=auto
_libamr_nb=auto
_libamr_wb=auto
-_libavdecoders_all=`sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
-_libavdecoders=` echo $_libavdecoders_all | sed -e 's/ LIB[A-Z0-9_]*_DECODER//g' -e s/MPEG4AAC_DECODER//`
-_libavencoders_all=`sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
-_libavencoders=` echo $_libavencoders_all | sed 's/ LIB[A-Z0-9_]*_ENCODER//g'`
-_libavparsers_all=`sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
+_libavdecoders_all=$(sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')
+_libavdecoders=$(echo $_libavdecoders_all | sed -e 's/ LIB[A-Z0-9_]*_DECODER//g' -e s/MPEG4AAC_DECODER//)
+_libavencoders_all=$(sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')
+_libavencoders=$(echo $_libavencoders_all | sed 's/ LIB[A-Z0-9_]*_ENCODER//g')
+_libavparsers_all=$(sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')
_libavparsers=$_libavparsers_all
-_libavbsfs_all=`sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
+_libavbsfs_all=$(sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')
_libavbsfs=$_libavbsfs_all
-_libavdemuxers_all=`sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
-_libavdemuxers=`echo $_libavdemuxers_all | sed -e 's/ LIB[A-Z0-9_]*_DEMUXER//g' -e s/REDIR_DEMUXER// -e s/RTSP_DEMUXER// -e s/SDP_DEMUXER// -e s/AVISYNTH_DEMUXER// `
-_libavmuxers_all=`sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
-_libavmuxers=`echo $_libavmuxers_all | sed -e 's/ LIB[A-Z0-9_]*_MUXER//g' -e s/RTP_MUXER// `
-_libavprotocols_all=`sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
+_libavdemuxers_all=$(sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]')
+_libavdemuxers=$(echo $_libavdemuxers_all | sed -e 's/ LIB[A-Z0-9_]*_DEMUXER//g' -e s/REDIR_DEMUXER// -e s/RTSP_DEMUXER// -e s/SDP_DEMUXER// -e s/AVISYNTH_DEMUXER//)
+_libavmuxers_all=$(sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]')
+_libavmuxers=$(echo $_libavmuxers_all | sed -e 's/ LIB[A-Z0-9_]*_MUXER//g' -e s/RTP_MUXER//)
+_libavprotocols_all=$(sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]')
_libavcodec_so=auto
_libavformat_a=auto
_libavformat_so=auto
@@ -620,6 +623,7 @@ _faac_lavc=auto
_ladspa=auto
_libbs2b=auto
_xmms=no
+_vcd=auto
_dvdnav=auto
_dvdnavconfig=dvdnav-config
_dvdreadconfig=dvdread-config
@@ -706,8 +710,10 @@ _freetype=auto
_fontconfig=auto
_menu=no
_qtx=auto
-_macosx=auto
_maemo=auto
+_coreaudio=auto
+_corevideo=auto
+_quartz=auto
_macosx_finder=no
_macosx_bundle=auto
_sortsub=yes
@@ -738,113 +744,113 @@ for ac_option do
show_help
;;
--prefix=*)
- _prefix=`echo $ac_option | cut -d '=' -f 2`
+ _prefix=$(echo $ac_option | cut -d '=' -f 2)
;;
--bindir=*)
- _bindir=`echo $ac_option | cut -d '=' -f 2`
+ _bindir=$(echo $ac_option | cut -d '=' -f 2)
;;
--datadir=*)
- _datadir=`echo $ac_option | cut -d '=' -f 2`
+ _datadir=$(echo $ac_option | cut -d '=' -f 2)
;;
--mandir=*)
- _mandir=`echo $ac_option | cut -d '=' -f 2`
+ _mandir=$(echo $ac_option | cut -d '=' -f 2)
;;
--confdir=*)
- _confdir=`echo $ac_option | cut -d '=' -f 2`
+ _confdir=$(echo $ac_option | cut -d '=' -f 2)
;;
--libdir=*)
- _libdir=`echo $ac_option | cut -d '=' -f 2`
+ _libdir=$(echo $ac_option | cut -d '=' -f 2)
;;
--codecsdir=*)
- _codecsdir=`echo $ac_option | cut -d '=' -f 2`
+ _codecsdir=$(echo $ac_option | cut -d '=' -f 2)
;;
--win32codecsdir=*)
- _win32codecsdir=`echo $ac_option | cut -d '=' -f 2`
+ _win32codecsdir=$(echo $ac_option | cut -d '=' -f 2)
;;
--xanimcodecsdir=*)
- _xanimcodecsdir=`echo $ac_option | cut -d '=' -f 2`
+ _xanimcodecsdir=$(echo $ac_option | cut -d '=' -f 2)
;;
--realcodecsdir=*)
- _realcodecsdir=`echo $ac_option | cut -d '=' -f 2`
+ _realcodecsdir=$(echo $ac_option | cut -d '=' -f 2)
;;
--with-install=*)
- _install=`echo $ac_option | cut -d '=' -f 2 `
+ _install=$(echo $ac_option | cut -d '=' -f 2 )
;;
--with-xvmclib=*)
- _xvmclib=`echo $ac_option | cut -d '=' -f 2`
+ _xvmclib=$(echo $ac_option | cut -d '=' -f 2)
;;
--with-sdl-config=*)
- _sdlconfig=`echo $ac_option | cut -d '=' -f 2`
+ _sdlconfig=$(echo $ac_option | cut -d '=' -f 2)
;;
--with-freetype-config=*)
- _freetypeconfig=`echo $ac_option | cut -d '=' -f 2`
+ _freetypeconfig=$(echo $ac_option | cut -d '=' -f 2)
;;
--with-fribidi-config=*)
- _fribidiconfig=`echo $ac_option | cut -d '=' -f 2`
+ _fribidiconfig=$(echo $ac_option | cut -d '=' -f 2)
;;
--with-gtk-config=*)
- _gtkconfig=`echo $ac_option | cut -d '=' -f 2`
+ _gtkconfig=$(echo $ac_option | cut -d '=' -f 2)
;;
--with-glib-config=*)
- _glibconfig=`echo $ac_option | cut -d '=' -f 2`
+ _glibconfig=$(echo $ac_option | cut -d '=' -f 2)
;;
--with-dvdnav-config=*)
- _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
+ _dvdnavconfig=$(echo $ac_option | cut -d '=' -f 2)
;;
--with-dvdread-config=*)
- _dvdreadconfig=`echo $ac_option | cut -d '=' -f 2`
+ _dvdreadconfig=$(echo $ac_option | cut -d '=' -f 2)
;;
--extra-cflags=*)
- extra_cflags=`echo $ac_option | cut -d '=' -f 2-`
+ extra_cflags=$(echo $ac_option | cut -d '=' -f 2-)
;;
--extra-ldflags=*)
- extra_ldflags=`echo $ac_option | cut -d '=' -f 2-`
+ extra_ldflags=$(echo $ac_option | cut -d '=' -f 2-)
;;
--extra-libs=*)
- extra_libs=`echo $ac_option | cut -d '=' -f 2`
+ extra_libs=$(echo $ac_option | cut -d '=' -f 2)
;;
--extra-libs-mplayer=*)
- libs_mplayer=`echo $ac_option | cut -d '=' -f 2`
+ libs_mplayer=$(echo $ac_option | cut -d '=' -f 2)
;;
--extra-libs-mencoder=*)
- libs_mencoder=`echo $ac_option | cut -d '=' -f 2`
+ libs_mencoder=$(echo $ac_option | cut -d '=' -f 2)
;;
--target=*)
- _target=`echo $ac_option | cut -d '=' -f 2`
+ _target=$(echo $ac_option | cut -d '=' -f 2)
;;
--cc=*)
- _cc=`echo $ac_option | cut -d '=' -f 2`
+ _cc=$(echo $ac_option | cut -d '=' -f 2)
;;
--host-cc=*)
- _host_cc=`echo $ac_option | cut -d '=' -f 2`
+ _host_cc=$(echo $ac_option | cut -d '=' -f 2)
;;
--as=*)
- _as=`echo $ac_option | cut -d '=' -f 2`
+ _as=$(echo $ac_option | cut -d '=' -f 2)
;;
--nm=*)
- _nm=`echo $ac_option | cut -d '=' -f 2`
+ _nm=$(echo $ac_option | cut -d '=' -f 2)
;;
--yasm=*)
- _yasm=`echo $ac_option | cut -d '=' -f 2`
+ _yasm=$(echo $ac_option | cut -d '=' -f 2)
;;
--ar=*)
- _ar=`echo $ac_option | cut -d '=' -f 2`
+ _ar=$(echo $ac_option | cut -d '=' -f 2)
;;
--ranlib=*)
- _ranlib=`echo $ac_option | cut -d '=' -f 2`
+ _ranlib=$(echo $ac_option | cut -d '=' -f 2)
;;
--windres=*)
- _windres=`echo $ac_option | cut -d '=' -f 2`
+ _windres=$(echo $ac_option | cut -d '=' -f 2)
;;
--charset=*)
- _charset=`echo $ac_option | cut -d '=' -f 2`
+ _charset=$(echo $ac_option | cut -d '=' -f 2)
;;
--language=*)
- _language=`echo $ac_option | cut -d '=' -f 2`
+ _language=$(echo $ac_option | cut -d '=' -f 2)
;;
--enable-static)
@@ -863,7 +869,7 @@ for ac_option do
_debug='-g'
;;
--enable-debug=*)
- _debug=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
+ _debug=$(echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2)
;;
--disable-debug)
_debug=
@@ -1020,6 +1026,8 @@ for ac_option do
--disable-libbs2b) _libbs2b=no ;;
--enable-xmms) _xmms=yes ;;
--disable-xmms) _xmms=no ;;
+ --enable-vcd) _vcd=yes ;;
+ --disable-vcd) _vcd=no ;;
--enable-dvdread) _dvdread=yes ;;
--disable-dvdread) _dvdread=no ;;
--enable-dvdread-internal) _dvdread_internal=yes ;;
@@ -1089,7 +1097,7 @@ for ac_option do
--enable-vidix) _vidix=yes ;;
--disable-vidix) _vidix=no ;;
--with-vidix-drivers=*)
- _vidix_drivers=`echo $ac_option | cut -d '=' -f 2`
+ _vidix_drivers=$(echo $ac_option | cut -d '=' -f 2)
;;
--disable-vidix-pcidb) _vidix_pcidb=no ;;
--enable-dhahelper) _dhahelper=yes ;;
@@ -1124,16 +1132,16 @@ for ac_option do
--disable-libamr_nb) _libamr_nb=no ;;
--enable-libamr_wb) _libamr_wb=yes ;;
--disable-libamr_wb) _libamr_wb=no ;;
- --enable-decoder=*) _libavdecoders="$_libavdecoders `echo $ac_option | cut -d '=' -f 2`" ;;
- --disable-decoder=*) _libavdecoders=`echo $_libavdecoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
- --enable-encoder=*) _libavencoders="$_libavencoders `echo $ac_option | cut -d '=' -f 2`" ;;
- --disable-encoder=*) _libavencoders=`echo $_libavencoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
- --enable-parser=*) _libavparsers="$_libavparsers `echo $ac_option | cut -d '=' -f 2`" ;;
- --disable-parser=*) _libavparsers=`echo $_libavparsers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
- --enable-demuxer=*) _libavdemuxers="$_libavdemuxers `echo $ac_option | cut -d '=' -f 2`" ;;
- --disable-demuxer=*) _libavdemuxers=`echo $_libavdemuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
- --enable-muxer=*) _libavmuxers="$_libavmuxers `echo $ac_option | cut -d '=' -f 2`" ;;
- --disable-muxer=*) _libavmuxers=`echo $_libavmuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
+ --enable-decoder=*) _libavdecoders="$_libavdecoders $(echo $ac_option | cut -d '=' -f 2)" ;;
+ --disable-decoder=*) _libavdecoders=$(echo $_libavdecoders | sed "s/$(echo $ac_option | cut -d '=' -f 2)//g") ;;
+ --enable-encoder=*) _libavencoders="$_libavencoders $(echo $ac_option | cut -d '=' -f 2)" ;;
+ --disable-encoder=*) _libavencoders=$(echo $_libavencoders | sed "s/$(echo $ac_option | cut -d '=' -f 2)//g") ;;
+ --enable-parser=*) _libavparsers="$_libavparsers $(echo $ac_option | cut -d '=' -f 2)" ;;
+ --disable-parser=*) _libavparsers=$(echo $_libavparsers | sed "s/$(echo $ac_option | cut -d '=' -f 2)//g") ;;
+ --enable-demuxer=*) _libavdemuxers="$_libavdemuxers $(echo $ac_option | cut -d '=' -f 2)" ;;
+ --disable-demuxer=*) _libavdemuxers=$(echo $_libavdemuxers | sed "s/$(echo $ac_option | cut -d '=' -f 2)//g") ;;
+ --enable-muxer=*) _libavmuxers="$_libavmuxers $(echo $ac_option | cut -d '=' -f 2)" ;;
+ --disable-muxer=*) _libavmuxers=$(echo $_libavmuxers | sed "s/$(echo $ac_option | cut -d '=' -f 2)//g") ;;
--enable-libavformat_a) _libavformat_a=yes ;;
--disable-libavformat_a) _libavformat_a=no ;;
--enable-libavformat_so) _libavformat_so=yes ;;
@@ -1245,8 +1253,12 @@ for ac_option do
--enable-qtx) _qtx=yes ;;
--disable-qtx) _qtx=no ;;
- --enable-macosx) _macosx=yes ;;
- --disable-macosx) _macosx=no ;;
+ --enable-coreaudio) _coreaudio=yes ;;
+ --disable-coreaudio) _coreaudio=no ;;
+ --enable-corevideo) _corevideo=yes ;;
+ --disable-corevideo) _corevideo=no ;;
+ --enable-quartz) _quartz=yes ;;
+ --disable-quartz) _quartz=no ;;
--enable-macosx-finder) _macosx_finder=yes ;;
--disable-macosx-finder) _macosx_finder=no ;;
--enable-macosx-bundle) _macosx_bundle=yes;;
@@ -1320,7 +1332,7 @@ test -z "$_libdir" && _libdir="$_prefix/lib"
# Determine our OS name and CPU architecture
if test -z "$_target" ; then
# OS name
- system_name=`uname -s 2>&1`
+ system_name=$(uname -s 2>&1)
case "$system_name" in
Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS)
;;
@@ -1349,7 +1361,7 @@ if test -z "$_target" ; then
# host's CPU/instruction set
- host_arch=`uname -p 2>&1`
+ host_arch=$(uname -p 2>&1)
case "$host_arch" in
i386|sparc|ppc|alpha|arm|mips|vax)
;;
@@ -1363,7 +1375,7 @@ if test -z "$_target" ; then
# recognize.
# x86/x86pc is used by QNX
- case "`uname -m 2>&1`" in
+ case "$(uname -m 2>&1)" in
i[3-9]86*|x86|x86pc|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium*|athlon*|i586_i686|i586-i686|BePC) host_arch=i386 ;;
ia64) host_arch=ia64 ;;
x86_64|amd64)
@@ -1391,8 +1403,8 @@ if test -z "$_target" ; then
;;
esac
else # if test -z "$_target"
- system_name=`echo $_target | cut -d '-' -f 2`
- case "`echo $system_name | tr A-Z a-z`" in
+ system_name=$(echo $_target | cut -d '-' -f 2)
+ case "$(echo $system_name | tr A-Z a-z)" in
linux) system_name=Linux ;;
freebsd) system_name=FreeBSD ;;
gnu/kfreebsd) system_name=FreeBSD ;;
@@ -1407,9 +1419,9 @@ else # if test -z "$_target"
mingw32msvc) system_name=MINGW32 ;;
esac
# We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
- host_arch=`echo $_target | cut -d '-' -f 1`
- if test `echo $host_arch` != "x86_64" ; then
- host_arch=`echo $host_arch | tr '_' '-'`
+ host_arch=$(echo $_target | cut -d '-' -f 1)
+ if test $(echo $host_arch) != "x86_64" ; then
+ host_arch=$(echo $host_arch | tr '_' '-')
fi
fi
@@ -1435,8 +1447,7 @@ if netbsd || dragonfly ; then
fi
if darwin; then
- extra_ldflags="$extra_ldflags -L/usr/local/lib"
- extra_cflags="$extra_cflags -I/usr/local/include"
+ extra_cflags="-mdynamic-no-pic -falign-loops=16 -shared-libgcc $extra_cflags"
_timer=timer-darwin.c
fi
@@ -1471,6 +1482,7 @@ if amigaos ; then
_sighandler=no
_stream_cache=no
def_stream_cache="#undef CONFIG_STREAM_CACHE"
+ extra_cflags="-DNEWLIB -D__USE_INLINE__ $extra_cflags"
fi
if qnx ; then
@@ -1503,29 +1515,15 @@ echo configuration: $_configuration > "$TMPLOG"
echo >> "$TMPLOG"
-# Check how to call 'head' and 'tail'. Newer versions spit out warnings
-# if used as 'head -1' instead of 'head -n 1', but older versions don't
-# know about '-n'.
-if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
- _head() { head -$1 2>/dev/null ; }
-else
- _head() { head -n $1 2>/dev/null ; }
-fi
-if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
- _tail() { tail -$1 2>/dev/null ; }
-else
- _tail() { tail -n $1 2>/dev/null ; }
-fi
-
# Checking CC version...
# Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
-if test "`basename $_cc`" = "icc" || test "`basename $_cc`" = "ecc"; then
+if test "$(basename $_cc)" = "icc" || test "$(basename $_cc)" = "ecc"; then
echocheck "$_cc version"
cc_vendor=intel
- cc_name=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 1`
- cc_version=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
- _cc_major=`echo $cc_version | cut -d '.' -f 1`
- _cc_minor=`echo $cc_version | cut -d '.' -f 2`
+ cc_name=$($_cc -V 2>&1 | head -n 1 | cut -d ',' -f 1)
+ cc_version=$($_cc -V 2>&1 | head -n 1 | cut -d ',' -f 2 | cut -d ' ' -f 3)
+ _cc_major=$(echo $cc_version | cut -d '.' -f 1)
+ _cc_minor=$(echo $cc_version | cut -d '.' -f 2)
# TODO verify older icc/ecc compatibility
case $cc_version in
'')
@@ -1543,20 +1541,20 @@ if test "`basename $_cc`" = "icc" || test "`basename $_cc`" = "ecc"; then
echores "$cc_version"
else
for _cc in "$_cc" cc gcc ; do
- cc_name_tmp=`$_cc -v 2>&1 | _tail 1 | cut -d ' ' -f 1`
+ cc_name_tmp=$($_cc -v 2>&1 | tail -n 1 | cut -d ' ' -f 1)
if test "$cc_name_tmp" = "gcc"; then
cc_name=$cc_name_tmp
echocheck "$_cc version"
cc_vendor=gnu
- cc_version=`$_cc -dumpversion 2>&1`
+ cc_version=$($_cc -dumpversion 2>&1)
case $cc_version in
2.96*)
cc_fail=yes
;;
*)
- _cc_major=`echo $cc_version | cut -d '.' -f 1`
- _cc_minor=`echo $cc_version | cut -d '.' -f 2`
- _cc_mini=`echo $cc_version | cut -d '.' -f 3`
+ _cc_major=$(echo $cc_version | cut -d '.' -f 1)
+ _cc_minor=$(echo $cc_version | cut -d '.' -f 2)
+ _cc_mini=$(echo $cc_version | cut -d '.' -f 3)
;;
esac
echores "$cc_version"
@@ -1591,12 +1589,12 @@ fi
# now that we know what compiler should be used for compilation, try to find
# out which assembler is used by the $_cc compiler
if test "$_as" = auto ; then
- _as=`$_cc -print-prog-name=as`
+ _as=$($_cc -print-prog-name=as)
test -z "$_as" && _as=as
fi
if test "$_nm" = auto ; then
- _nm=`$_cc -print-prog-name=nm`
+ _nm=$($_cc -print-prog-name=nm)
test -z "$_nm" && _nm=nm
fi
@@ -1629,16 +1627,16 @@ fi
if x86 ; then
# gather more CPU information
- pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
- pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
- pfamily=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
- pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
- pstepping=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
+ pname=$($_cpuinfo | grep 'model name' | cut -d ':' -f 2 | head -n 1)
+ pvendor=$($_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1)
+ pfamily=$($_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1)
+ pmodel=$($_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1)
+ pstepping=$($_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1)
- exts=`$_cpuinfo | egrep 'features|flags' | cut -d ':' -f 2 | _head 1`
+ exts=$($_cpuinfo | egrep 'features|flags' | cut -d ':' -f 2 | head -n 1)
- pparam=`echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
- -e s/xmm/sse/ -e s/kni/sse/`
+ pparam=$(echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
+ -e s/xmm/sse/ -e s/kni/sse/)
for ext in $pparam ; do
eval test \"\$_$ext\" = auto 2>/dev/null && eval _$ext=kernel_check
@@ -2052,8 +2050,8 @@ EOF
def_fast_64bit='#define HAVE_FAST_64BIT 1'
elif sunos ; then
echocheck "CPU type"
- karch=`uname -m`
- case "`echo $karch`" in
+ karch=$(uname -m)
+ case "$(echo $karch)" in
sun4) proc=v7 ;;
sun4c) proc=v7 ;;
sun4d) proc=v8 ;;
@@ -2102,15 +2100,15 @@ EOF
echocheck "CPU type"
case $system_name in
Linux)
- proc=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
- if test -n "`$_cpuinfo | grep altivec`"; then
+ proc=$($_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | head -n 1)
+ if test -n "$($_cpuinfo | grep altivec)"; then
test $_altivec = auto && _altivec=yes
fi
;;
Darwin)
- proc=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
- if [ `sysctl -n hw.vectorunit` -eq 1 -o \
- "`sysctl -n hw.optional.altivec 2> /dev/null`" = "1" ]; then
+ proc=$($_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//')
+ if [ $(sysctl -n hw.vectorunit) -eq 1 -o \
+ "$(sysctl -n hw.optional.altivec 2> /dev/null)" = "1" ]; then
test $_altivec = auto && _altivec=yes
fi
;;
@@ -2120,14 +2118,14 @@ EOF
2*|3.0*|3.1*|3.2*|3.3*)
;;
*)
- if [ `sysctl -n machdep.altivec` -eq 1 ]; then
+ if [ $(sysctl -n machdep.altivec) -eq 1 ]; then
test $_altivec = auto && _altivec=yes
fi
;;
esac
;;
AIX)
- proc=`$_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//'`
+ proc=$($_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//')
;;
esac
if test "$_altivec" = yes; then
@@ -2193,7 +2191,7 @@ EOF
fi
if test -n "$_mcpu"; then
- _optimizing=`echo $_mcpu | cut -c 8-`
+ _optimizing=$(echo $_mcpu | cut -c 8-)
echores "$_optimizing"
else
echores "none"
@@ -2218,7 +2216,7 @@ int main(void) {
}
EOF
$_cc -o "$TMPEXE" "$TMPC"
- case `"$TMPEXE"` in
+ case $("$TMPEXE") in
0-0) proc="ev4"; _mvi="0";;
1-0) proc="ev5"; _mvi="0";;
@@ -2250,8 +2248,8 @@ EOF
if irix ; then
echocheck "CPU type"
- proc=`hinv -c processor | grep CPU | cut -d " " -f3`
- case "`echo $proc`" in
+ proc=$(hinv -c processor | grep CPU | cut -d " " -f3)
+ case "$(echo $proc)" in
R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
@@ -2422,6 +2420,22 @@ elif test -z "$CFLAGS" ; then
else
_warn_CFLAGS=yes
fi
+
+cat > $TMPC << EOF
+int main(void) { return 0; }
+EOF
+if test "$cc_vendor" = "gnu" ; then
+ cc_check -std=gnu99 && CFLAGS="-std=gnu99 $CFLAGS"
+ cc_check -Wno-pointer-sign && CFLAGS="-Wno-pointer-sign $CFLAGS"
+ cc_check -Wdisabled-optimization && CFLAGS="-Wdisabled-optimization $CFLAGS"
+ cc_check -Wundef && CFLAGS="-Wundef $CFLAGS"
+else
+ CFLAGS="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS"
+fi
+
+cc_check -mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer="-mno-omit-leaf-frame-pointer"
+
+
if test -n "$LDFLAGS" ; then
extra_ldflags="$extra_ldflags $LDFLAGS"
_warn_CFLAGS=yes
@@ -2438,7 +2452,7 @@ fi
if x86_32 ; then
# Checking assembler (_as) compatibility...
# Added workaround for older as that reads from stdin by default - atmos
- as_version=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
+ as_version=$(echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p')
echocheck "assembler ($_as $as_version)"
_pref_as_version='2.9.1'
@@ -2524,7 +2538,7 @@ if test -z "$YASMFLAGS" ; then
x86_64 && objformat="macho64" || objformat="macho"
elif win32 ; then
objformat="win32"
- else
+ else
objformat="elf"
fi
# currently tested for Linux x86, x86_64
@@ -2614,6 +2628,17 @@ EOF
test "$_altivec" = yes && CFLAGS="$CFLAGS $_altivec_gcc_flags"
fi
+if ppc ; then
+def_xform_asm='#define HAVE_XFORM_ASM 0'
+xform_asm=no
+echocheck "XFORM ASM support"
+ cat > $TMPC << EOF
+int main(void) { __asm__ volatile ("lwzx 0, %y0" :: "Z"(*(int*)0)); return 0; }
+EOF
+cc_check && xform_asm=yes && def_xform_asm='#define HAVE_XFORM_ASM 1'
+echores "$xform_asm"
+fi
+
if arm ; then
echocheck "ARM pld instruction"
cat > $TMPC << EOF
@@ -2697,7 +2722,7 @@ test "$_mvi" = yes && _cpuexts="MVI $_cpuexts"
# Checking kernel version...
if x86_32 && linux ; then
_k_verc_problem=no
- kernel_version=`uname -r 2>&1`
+ kernel_version=$(uname -r 2>&1)
echocheck "$system_name kernel version"
case "$kernel_version" in
'') kernel_version="?.??"; _k_verc_fail=yes;;
@@ -2768,7 +2793,7 @@ echores "$_langinfo"
echocheck "language"
test -z "$_language" && _language=$LINGUAS
-_language=`echo $_language | tr , " "`
+_language=$(echo $_language | tr , " ")
if $(echo $_language | grep -q all) ; then
doc_lang=en ; doc_langs=$doc_lang_all
man_lang=en ; man_langs=$man_lang_all
@@ -2790,7 +2815,7 @@ else
break
else
echo ${_echo_n} "$lang not found, ${_echo_c}"
- _language=`echo $_language | sed "s/$lang *//"`
+ _language=$(echo $_language | sed "s/$lang *//")
fi
done
fi
@@ -2899,10 +2924,10 @@ EOF
eval _$func=no
cc_check -D_ISOC99_SOURCE $_ld_lm && eval _$func=yes
if eval test "x\$_$func" = "xyes"; then
- eval def_$func="\"#define HAVE_`echo $func | tr '[a-z]' '[A-Z]'` 1\""
+ eval def_$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 1\""
echores yes
else
- eval def_$func="\"#define HAVE_`echo $func | tr '[a-z]' '[A-Z]'` 0\""
+ eval def_$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 0\""
echores no
fi
done
@@ -3294,6 +3319,11 @@ echores "$_dynamic_plugins"
def_threads='#define HAVE_THREADS 0'
echocheck "pthread"
+if linux ; then
+ THREAD_CFLAGS=-D_REENTRANT
+elif freebsd || netbsd || openbsd || bsdos ; then
+ THREAD_CFLAGS=-D_THREAD_SAFE
+fi
if test "$_pthreads" = auto ; then
cat > $TMPC << EOF
#include <pthread.h>
@@ -3304,7 +3334,7 @@ _pthreads=no
if ! hpux ; then
for _ld_tmp in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
# for crosscompilation, we cannot execute the program, be happy if we can link statically
- cc_check $_ld_tmp && (tmp_run || test "$_ld_static") && _ld_pthread="$_ld_tmp" && _pthreads=yes && break
+ cc_check $THREAD_CFLAGS $_ld_tmp && (tmp_run || test "$_ld_static") && _ld_pthread="$_ld_tmp" && _pthreads=yes && break
done
fi
fi
@@ -3312,6 +3342,7 @@ if test "$_pthreads" = yes ; then
test $_ld_pthread && _res_comment="using $_ld_pthread"
def_pthreads='#define HAVE_PTHREADS 1'
def_threads='#define HAVE_THREADS 1'
+ extra_cflags="$extra_cflags $THREAD_CFLAGS"
else
_res_comment="v4l, v4l2, ao_nas, win32 loader disabled"
def_pthreads='#undef HAVE_PTHREADS'
@@ -3344,8 +3375,8 @@ echores "$_w32threads"
echocheck "rpath"
netbsd &&_rpath=yes
if test "$_rpath" = yes ; then
- for I in `echo $extra_ldflags | sed 's/-L//g'` ; do
- tmp="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
+ for I in $(echo $extra_ldflags | sed 's/-L//g') ; do
+ tmp="$tmp $(echo $I | sed 's/.*/ -L& -Wl,-R&/')"
done
extra_ldflags=$tmp
fi
@@ -3781,95 +3812,20 @@ echores "$_sys_sysinfo"
if darwin; then
-echocheck "Mac OS X APIs"
-if test "$_macosx" = auto ; then
- productName=`/usr/bin/sw_vers -productName`
- if test "$productName" = "Mac OS X" ||
- test "$productName" = "Mac OS X Server" ; then
- _macosx=yes
- else
- _macosx=no
- _noaomodules="macosx $_noaomodules"
- _novomodules="macosx quartz $_novomodules"
- fi
-fi
-if test "$_macosx" = yes ; then
- cat > $TMPC <<EOF
-#include <CoreAudio/CoreAudio.h>
-int main(void) { return 0; }
-EOF
- if cc_check -framework CoreAudio; then
- extra_ldflags="$extra_ldflags -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
- _coreaudio=yes
- def_coreaudio='#define CONFIG_COREAUDIO 1'
- _aomodules="macosx $_aomodules"
- else
- _coreaudio=no
- def_coreaudio='#undef CONFIG_COREAUDIO'
- _noaomodules="macosx $_noaomodules"
- fi
- cat > $TMPC <<EOF
-#include <Carbon/Carbon.h>
-#include <QuickTime/QuickTime.h>
-int main(void) {
- EnterMovies();
- ExitMovies();
- CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
- return 0;
-}
-EOF
- if cc_check -framework Carbon -framework QuickTime; then
- extra_ldflags="$extra_ldflags -framework Carbon -framework QuickTime"
- _quartz=yes
- def_quartz='#define CONFIG_QUARTZ 1'
- _vomodules="quartz $_vomodules"
- def_quicktime='#define CONFIG_QUICKTIME 1'
- else
- _quartz=no
- def_quartz='#undef CONFIG_QUARTZ'
- _novomodules="quartz $_novomodules"
- def_quicktime='#undef CONFIG_QUICKTIME'
- fi
-cat > $TMPC <<EOF
-#include <Carbon/Carbon.h>
-#include <QuartzCore/CoreVideo.h>
-int main(void) { return 0; }
-EOF
- if cc_check -framework Carbon -framework QuartzCore -framework OpenGL; then
- _vomodules="macosx $_vomodules"
- extra_ldflags="$extra_ldflags -framework Cocoa -framework QuartzCore -framework OpenGL"
- def_corevideo='#define CONFIG_COREVIDEO 1'
- _corevideo=yes
- else
- _novomodules="macosx $_novomodules"
- def_corevideo='#undef CONFIG_COREVIDEO'
- _corevideo=no
- fi
-fi
-echores "$_macosx"
-
echocheck "Mac OS X Finder Support"
-if test "$_macosx_finder" = auto ; then
- _macosx_finder=$_macosx
-fi
-if test "$_macosx_finder" = yes; then
+def_macosx_finder='#undef CONFIG_MACOSX_FINDER'
+if test "$_macosx_finder" = yes ; then
def_macosx_finder='#define CONFIG_MACOSX_FINDER 1'
- _macosx_finder=yes
-else
- def_macosx_finder='#undef CONFIG_MACOSX_FINDER'
- _macosx_finder=no
+ extra_ldflags="$extra_ldflags -framework Carbon"
fi
echores "$_macosx_finder"
echocheck "Mac OS X Bundle file locations"
-if test "$_macosx_bundle" = auto ; then
- _macosx_bundle=$_macosx_finder
-fi
-if test "$_macosx_bundle" = yes; then
+def_macosx_bundle='#undef CONFIG_MACOSX_BUNDLE'
+test "$_macosx_bundle" = auto && _macosx_bundle=$_macosx_finder
+if test "$_macosx_bundle" = yes ; then
def_macosx_bundle='#define CONFIG_MACOSX_BUNDLE 1'
-else
- def_macosx_bundle='#undef CONFIG_MACOSX_BUNDLE'
- _macosx_bundle=no
+ extra_ldflags="$extra_ldflags -framework Carbon"
fi
echores "$_macosx_bundle"
@@ -3904,7 +3860,7 @@ EOF
fi
if test "$_apple_remote" = yes ; then
def_apple_remote='#define CONFIG_APPLE_REMOTE 1'
- extra_ldflags="$extra_ldflags -framework IOKit"
+ libs_mplayer="$libs_mplayer -framework IOKit -framework Cocoa"
else
def_apple_remote='#undef CONFIG_APPLE_REMOTE'
fi
@@ -3938,7 +3894,7 @@ fi #if linux
echocheck "pkg-config"
_pkg_config=pkg-config
-if `$_pkg_config --version > /dev/null 2>&1`; then
+if $($_pkg_config --version > /dev/null 2>&1); then
if test "$_ld_static"; then
_pkg_config="$_pkg_config --static"
fi
@@ -4116,15 +4072,15 @@ dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
;
EOF
if $_cc -E $TMPC $extra_cflags > "$TMPEXE"; then
- _directfb_version=`sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPEXE" | tr -d '()'`
- _dfb_major=`echo $_directfb_version | cut -d . -f 1`
- _dfb_minor=`echo $_directfb_version | cut -d . -f 2`
- _dfb_micro=`echo $_directfb_version | cut -d . -f 3`
- _dfb_version=`dfb_version $_dfb_major $_dfb_minor $_dfb_micro`
- if test "$_dfb_version" -ge `dfb_version 0 9 13`; then
+ _directfb_version=$(sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPEXE" | tr -d '()')
+ _dfb_major=$(echo $_directfb_version | cut -d . -f 1)
+ _dfb_minor=$(echo $_directfb_version | cut -d . -f 2)
+ _dfb_micro=$(echo $_directfb_version | cut -d . -f 3)
+ _dfb_version=$(dfb_version $_dfb_major $_dfb_minor $_dfb_micro)
+ if test "$_dfb_version" -ge $(dfb_version 0 9 13); then
def_directfb_version="#define DIRECTFBVERSION $_dfb_version"
_res_comment="$_directfb_version"
- test "$_dfb_version" -ge `dfb_version 0 9 15` && _dfbmga=yes
+ test "$_dfb_version" -ge $(dfb_version 0 9 15) && _dfbmga=yes
else
def_directfb_version='#undef DIRECTFBVERSION'
_directfb=no
@@ -4157,7 +4113,7 @@ fi
echocheck "X11 headers presence"
_x11_headers="no"
_res_comment="check if the dev(el) packages are installed"
- for I in `echo $extra_cflags | sed s/-I//g` /usr/include ; do
+ for I in $(echo $extra_cflags | sed s/-I//g) /usr/include ; do
if test -f "$I/X11/Xlib.h" ; then
_x11_headers="yes"
_res_comment=""
@@ -4189,7 +4145,7 @@ EOF
-L/usr/X11/lib -L/usr/lib32 -L/usr/openwin/lib -L/usr/X11R6/lib64 \
-L/usr/lib ; do
if netbsd; then
- _ld_tmp="$I -lXext -lX11 $_ld_pthread -Wl,-R`echo $I | sed s/^-L//`"
+ _ld_tmp="$I -lXext -lX11 $_ld_pthread -Wl,-R$(echo $I | sed s/^-L//)"
else
_ld_tmp="$I -lXext -lX11 $_ld_pthread"
fi
@@ -4312,7 +4268,7 @@ if test "$_xvmc" = yes ; then
else
def_xvmc='#define CONFIG_XVMC 0'
_novomodules="xvmc $_novomodules"
- _libavdecoders=`echo $_libavdecoders | sed -e s/MPEG_XVMC_DECODER// `
+ _libavdecoders=$(echo $_libavdecoders | sed -e s/MPEG_XVMC_DECODER//)
fi
echores "$_xvmc"
@@ -4334,7 +4290,7 @@ if test "$_vdpau" = yes ; then
else
def_vdpau='#define CONFIG_VDPAU 0'
_novomodules="vdpau $_novomodules"
- _libavdecoders=`echo $_libavdecoders | sed -e s/MPEG_VDPAU_DECODER// -e s/MPEG1_VDPAU_DECODER// -e s/H264_VDPAU_DECODER// -e s/WMV3_VDPAU_DECODER// -e s/VC1_VDPAU_DECODER//`
+ _libavdecoders=$(echo $_libavdecoders | sed -e s/MPEG_VDPAU_DECODER// -e s/MPEG1_VDPAU_DECODER// -e s/H264_VDPAU_DECODER// -e s/WMV3_VDPAU_DECODER// -e s/VC1_VDPAU_DECODER//)
fi
echores "$_vdpau"
@@ -4554,14 +4510,14 @@ if test "$_vidix" = yes ; then
def_vidix='#define CONFIG_VIDIX 1'
_vomodules="cvidix $_vomodules"
test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
- test $_ivtv = "yes" || _vidix_drivers=`echo $_vidix_drivers | sed s/ivtv//`
+ test $_ivtv = "yes" || _vidix_drivers=$(echo $_vidix_drivers | sed s/ivtv//)
# some vidix drivers are architecture and os specific, discard them elsewhere
- x86 || _vidix_drivers=`echo $_vidix_drivers | sed -e s/cyberblade// -e s/sis// -e s/unichrome// -e s/s3//`
- (test $host_arch = "sh" && linux) || _vidix_drivers=`echo $_vidix_drivers | sed s/sh_veu//`
+ x86 || _vidix_drivers=$(echo $_vidix_drivers | sed -e s/cyberblade// -e s/sis// -e s/unichrome// -e s/s3//)
+ (test $host_arch = "sh" && linux) || _vidix_drivers=$(echo $_vidix_drivers | sed s/sh_veu//)
for driver in $_vidix_drivers ; do
- uc_driver=`echo $driver | tr '[a-z]' '[A-Z]'`
+ uc_driver=$(echo $driver | tr '[a-z]' '[A-Z]')
eval _vidix_drv_${driver}=yes
eval def_vidix_drv_${driver}=\"\#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
done
@@ -4694,7 +4650,7 @@ fi
if test "$_aa" = yes ; then
def_aa='#define CONFIG_AA 1'
if cygwin ; then
- libs_mplayer="$libs_mplayer `aalib-config --libs | cut -d " " -f 2,5,6`"
+ libs_mplayer="$libs_mplayer $(aalib-config --libs | cut -d " " -f 2,5,6)"
fi
_vomodules="aa $_vomodules"
else
@@ -4715,13 +4671,13 @@ if test "$_caca" = auto ; then
#endif
int main(void) { (void) caca_init(); return 0; }
EOF
- cc_check `caca-config --libs` && _caca=yes
+ cc_check $(caca-config --libs) && _caca=yes
fi
fi
if test "$_caca" = yes ; then
def_caca='#define CONFIG_CACA 1'
- extra_cflags="$extra_cflags `caca-config --cflags`"
- libs_mplayer="$libs_mplayer `caca-config --libs`"
+ extra_cflags="$extra_cflags $(caca-config --cflags)"
+ libs_mplayer="$libs_mplayer $(caca-config --libs)"
_vomodules="caca $_vomodules"
else
def_caca='#undef CONFIG_CACA'
@@ -4842,6 +4798,56 @@ else
fi
+if darwin; then
+
+echocheck "Quartz"
+if test "$_quartz" = auto ; then
+ cat > $TMPC <<EOF
+#include <Carbon/Carbon.h>
+#include <QuickTime/QuickTime.h>
+int main(void) {
+ EnterMovies();
+ ExitMovies();
+ CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
+ return 0;
+}
+EOF
+ _quartz=no
+ cc_check -framework Carbon -framework QuickTime && _quartz=yes
+fi
+if test "$_quartz" = yes ; then
+ libs_mplayer="$libs_mplayer -framework Carbon -framework QuickTime"
+ def_quartz='#define CONFIG_QUARTZ 1'
+ _vomodules="quartz $_vomodules"
+else
+ def_quartz='#undef CONFIG_QUARTZ'
+ _novomodules="quartz $_novomodules"
+fi
+echores $_quartz
+
+echocheck "CoreVideo"
+if test "$_corevideo" = auto ; then
+ cat > $TMPC <<EOF
+#include <Carbon/Carbon.h>
+#include <CoreServices/CoreServices.h>
+#include <OpenGL/OpenGL.h>
+#include <QuartzCore/CoreVideo.h>
+int main(void) { return 0; }
+EOF
+ _corevideo=no
+ cc_check -framework Carbon -framework Cocoa -framework QuartzCore -framework OpenGL && _corevideo=yes
+fi
+if test "$_corevideo" = yes ; then
+ _vomodules="corevideo $_vomodules"
+ libs_mplayer="$libs_mplayer -framework Carbon -framework Cocoa -framework QuartzCore -framework OpenGL"
+ def_corevideo='#define CONFIG_COREVIDEO 1'
+else
+ _novomodules="corevideo $_novomodules"
+ def_corevideo='#undef CONFIG_COREVIDEO'
+fi
+echores "$_corevideo"
+
+fi #if darwin
echocheck "PNG support"
@@ -5069,15 +5075,15 @@ fi
if test "$_sdl" = auto || test "$_sdl" = yes ; then
cat > $TMPC << EOF
#include <SDL.h>
-int main(void) {
+int main(int argc, char *argv[]) {
SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
return 0;
}
EOF
_sdl=no
if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
- if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
- _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
+ if cc_check $($_sdlconfig --cflags) $($_sdlconfig --libs) >>"$TMPLOG" 2>&1 ; then
+ _sdlversion=$($_sdlconfig --version | sed 's/[^0-9]//g')
if test "$_sdlversion" -gt 116 ; then
if test "$_sdlversion" -lt 121 ; then
def_sdlbuggy='#define BUGGY_SDL'
@@ -5092,14 +5098,14 @@ fi
if test "$_sdl" = yes ; then
def_sdl='#define CONFIG_SDL 1'
if cygwin ; then
- libs_mplayer="$libs_mplayer `$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`"
- extra_cflags="$extra_cflags `$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`"
+ libs_mplayer="$libs_mplayer $($_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/)"
+ extra_cflags="$extra_cflags $($_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/)"
elif mingw32 ; then
- libs_mplayer="$libs_mplayer `$_sdlconfig --libs | sed -e s/-mwindows// -e s/-lmingw32//`"
- extra_cflags="$extra_cflags `$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`"
+ libs_mplayer="$libs_mplayer $($_sdlconfig --libs | sed -e s/-mwindows// -e s/-lmingw32//)"
+ extra_cflags="$extra_cflags $($_sdlconfig --cflags | sed s/-Dmain=SDL_main//)"
else
- libs_mplayer="$libs_mplayer `$_sdlconfig --libs`"
- extra_cflags="$extra_cflags `$_sdlconfig --cflags | sed s/-D_GNU_SOURCE=1//`"
+ libs_mplayer="$libs_mplayer $($_sdlconfig --libs)"
+ extra_cflags="$extra_cflags $($_sdlconfig --cflags | sed s/-D_GNU_SOURCE=1//)"
fi
_vomodules="sdl $_vomodules"
_aomodules="sdl $_aomodules"
@@ -5371,7 +5377,7 @@ cat > $TMPC << EOF
#include <artsc.h>
int main(void) { return 0; }
EOF
-cc_check `artsc-config --libs` `artsc-config --cflags` && tmp_run && _arts=yes
+cc_check $(artsc-config --libs) $(artsc-config --cflags) && tmp_run && _arts=yes
fi
fi
@@ -5379,8 +5385,8 @@ fi
if test "$_arts" = yes ; then
def_arts='#define CONFIG_ARTS 1'
_aomodules="arts $_aomodules"
- libs_mplayer="$libs_mplayer `artsc-config --libs`"
- extra_cflags="$extra_cflags `artsc-config --cflags`"
+ libs_mplayer="$libs_mplayer $(artsc-config --libs)"
+ extra_cflags="$extra_cflags $(artsc-config --cflags)"
else
_noaomodules="arts $_noaomodules"
fi
@@ -5396,7 +5402,7 @@ cat > $TMPC << EOF
#include <esd.h>
int main(void) { int fd = esd_open_sound("test"); return fd; }
EOF
-cc_check `esd-config --libs` `esd-config --cflags` && _esd=yes
+cc_check $(esd-config --libs) $(esd-config --cflags) && _esd=yes
fi
fi
@@ -5405,15 +5411,15 @@ echores "$_esd"
if test "$_esd" = yes ; then
def_esd='#define CONFIG_ESD 1'
_aomodules="esd $_aomodules"
- libs_mplayer="$libs_mplayer `esd-config --libs`"
- extra_cflags="$extra_cflags `esd-config --cflags`"
+ libs_mplayer="$libs_mplayer $(esd-config --libs)"
+ extra_cflags="$extra_cflags $(esd-config --cflags)"
echocheck "esd_get_latency()"
cat > $TMPC << EOF
#include <esd.h>
int main(void) { return esd_get_latency(0); }
EOF
- cc_check `esd-config --libs` `esd-config --cflags` && _esd_latency=yes && def_esd_latency='#define CONFIG_ESD_LATENCY'
+ cc_check $(esd-config --libs) $(esd-config --cflags) && _esd_latency=yes && def_esd_latency='#define CONFIG_ESD_LATENCY'
echores "$_esd_latency"
else
def_esd='#undef CONFIG_ESD'
@@ -5451,7 +5457,7 @@ cat > $TMPC << EOF
#include <pulse/pulseaudio.h>
int main(void) { return 0; }
EOF
-cc_check `$_pkg_config --libs --cflags libpulse` && tmp_run && _pulse=yes
+cc_check $($_pkg_config --libs --cflags libpulse) && tmp_run && _pulse=yes
fi
fi
@@ -5460,8 +5466,8 @@ echores "$_pulse"
if test "$_pulse" = yes ; then
def_pulse='#define CONFIG_PULSE 1'
_aomodules="pulse $_aomodules"
- libs_mplayer="$libs_mplayer `$_pkg_config --libs libpulse`"
- extra_cflags="$extra_cflags `$_pkg_config --cflags libpulse`"
+ libs_mplayer="$libs_mplayer $($_pkg_config --libs libpulse)"
+ extra_cflags="$extra_cflags $($_pkg_config --cflags libpulse)"
else
def_pulse='#undef CONFIG_PULSE'
_noaomodules="pulse $_noaomodules"
@@ -5478,9 +5484,9 @@ int main(void) { jack_client_open("test", JackUseExactName, NULL); return 0; }
EOF
if cc_check -ljack ; then
libs_mplayer="$libs_mplayer -ljack"
- elif cc_check `$_pkg_config --libs --cflags --silence-errors jack` ; then
- libs_mplayer="$libs_mplayer `$_pkg_config --libs jack`"
- extra_cflags="$extra_cflags "`$_pkg_config --cflags jack`""
+ elif cc_check $($_pkg_config --libs --cflags --silence-errors jack) ; then
+ libs_mplayer="$libs_mplayer $($_pkg_config --libs jack)"
+ extra_cflags="$extra_cflags "$($_pkg_config --cflags jack)""
else
_jack=no
fi
@@ -5666,6 +5672,30 @@ echores "$_mlib"
fi #if sunos
+if darwin; then
+echocheck "CoreAudio"
+if test "$_coreaudio" = auto ; then
+ cat > $TMPC <<EOF
+#include <CoreAudio/CoreAudio.h>
+#include <AudioToolbox/AudioToolbox.h>
+#include <AudioUnit/AudioUnit.h>
+int main(void) { return 0; }
+EOF
+ _coreaudio=no
+ cc_check -framework CoreAudio -framework AudioUnit -framework AudioToolbox && _coreaudio=yes
+fi
+if test "$_coreaudio" = yes ; then
+ libs_mplayer="$libs_mplayer -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
+ def_coreaudio='#define CONFIG_COREAUDIO 1'
+ _aomodules="coreaudio $_aomodules"
+else
+ def_coreaudio='#undef CONFIG_COREAUDIO'
+ _noaomodules="coreaudio $_noaomodules"
+fi
+echores $_coreaudio
+fi #if darwin
+
+
if irix; then
echocheck "SGI audio"
if test "$_sgiaudio" = auto ; then
@@ -5741,15 +5771,17 @@ fi
echocheck "VCD support"
-_vcd=no
-if linux || freebsd || netbsd || openbsd || dragonfly || bsdos || darwin || sunos; then
- _vcd=yes
-elif mingw32; then
- cat > $TMPC << EOF
+if test "$_vcd" = auto; then
+ _vcd=no
+ if linux || freebsd || netbsd || openbsd || dragonfly || bsdos || darwin || sunos; then
+ _vcd=yes
+ elif mingw32; then
+ cat > $TMPC << EOF
#include <ddk/ntddcdrm.h>
int main(void) { return 0; }
EOF
cc_check && _vcd=yes
+ fi
fi
if test "$_vcd" = yes; then
_inputmodules="vcd $_inputmodules"
@@ -5790,8 +5822,8 @@ elif test "$_dvdread" = auto ; then
int main(void) { return 0; }
EOF
fi
- _dvdreadcflags=`$_dvdreadconfig --cflags`
- _dvdreadlibs=`$_dvdreadconfig --libs`
+ _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
@@ -5833,7 +5865,7 @@ if test "$_libdvdcss_internal" = yes ; then
def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
elif darwin ; then
def_dvd_darwin='#define DARWIN_DVD_IOCTL'
- extra_ldflags="$extra_ldflags -framework IOKit"
+ extra_ldflags="$extra_ldflags -framework IOKit -framework Carbon"
elif cygwin ; then
cflags_libdvdcss="-DSYS_CYGWIN -DWIN32"
elif beos ; then
@@ -5841,7 +5873,8 @@ if test "$_libdvdcss_internal" = yes ; then
elif os2 ; then
cflags_libdvdcss="-DSYS_OS2"
fi
- cflags_libdvdcss_dvdread="-Ilibdvdcss -DHAVE_DVDCSS_DVDCSS_H"
+ cflags_libdvdcss_dvdread="-Ilibdvdcss"
+ def_dvdcss="#define HAVE_DVDCSS_DVDCSS_H 1"
_inputmodules="libdvdcss(internal) $_inputmodules"
_largefiles=yes
else
@@ -5892,8 +5925,8 @@ EOF
&& _libcdio=yes && extra_ldflags="$extra_ldflags $_ld_tmp" && break
done
if test "$_libcdio" = no && $_pkg_config --exists libcdio_paranoia ; then
- _inc_tmp=`$_pkg_config --cflags libcdio_paranoia`
- _ld_tmp=`$_pkg_config --libs libcdio_paranoia`
+ _inc_tmp=$($_pkg_config --cflags libcdio_paranoia)
+ _ld_tmp=$($_pkg_config --libs libcdio_paranoia)
cc_check $_inc_tmp $_ld_tmp $_ld_lm && _libcdio=yes \
&& extra_ldflags="$extra_ldflags $_ld_tmp" && extra_cflags="$extra_cflags $_inc_tmp"
fi
@@ -5975,15 +6008,15 @@ int main(void) {
}
EOF
_freetype=no
- cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _freetype=yes
+ cc_check $($_freetypeconfig --cflags) $($_freetypeconfig --libs) && tmp_run && _freetype=yes
else
_freetype=no
fi
fi
if test "$_freetype" = yes ; then
def_freetype='#define CONFIG_FREETYPE'
- extra_cflags="$extra_cflags `$_freetypeconfig --cflags`"
- extra_ldflags="$extra_ldflags `$_freetypeconfig --libs`"
+ extra_cflags="$extra_cflags $($_freetypeconfig --cflags)"
+ extra_ldflags="$extra_ldflags $($_freetypeconfig --libs)"
else
def_freetype='#undef CONFIG_FREETYPE'
fi
@@ -6014,8 +6047,8 @@ EOF
cc_check $_ld_tmp && _fontconfig=yes && extra_ldflags="$extra_ldflags $_ld_tmp" && break
done
if test "$_fontconfig" = no && $_pkg_config --exists fontconfig ; then
- _inc_tmp=`$_pkg_config --cflags fontconfig`
- _ld_tmp=`$_pkg_config --libs fontconfig`
+ _inc_tmp=$($_pkg_config --cflags fontconfig)
+ _ld_tmp=$($_pkg_config --libs fontconfig)
cc_check $_inc_tmp $_ld_tmp && _fontconfig=yes \
&& extra_ldflags="$extra_ldflags $_ld_tmp" && extra_cflags="$extra_cflags $_inc_tmp"
fi
@@ -6045,7 +6078,7 @@ if test "$_ass" = auto ; then
int main(void) { return 0; }
EOF
_ass=no
- cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _ass=yes
+ cc_check $($_freetypeconfig --cflags) $($_freetypeconfig --libs) && tmp_run && _ass=yes
if test "$_ass" = no ; then
_res_comment="FreeType >= 2.1.8 needed"
fi
@@ -6075,15 +6108,15 @@ int main(void) {
}
EOF
_fribidi=no
- cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run && _fribidi=yes
+ cc_check $($_fribidiconfig --cflags) $($_fribidiconfig --libs) && tmp_run && _fribidi=yes
else
_fribidi=no
fi
fi
if test "$_fribidi" = yes ; then
def_fribidi='#define CONFIG_FRIBIDI'
- extra_cflags="$extra_cflags `$_fribidiconfig --cflags`"
- extra_ldflags="$extra_ldflags `$_fribidiconfig --libs`"
+ extra_cflags="$extra_cflags $($_fribidiconfig --cflags)"
+ extra_ldflags="$extra_ldflags $($_fribidiconfig --libs)"
else
def_fribidi='#undef CONFIG_FRIBIDI'
fi
@@ -6126,8 +6159,8 @@ if test "$_zlib" = yes ; then
extra_ldflags="$extra_ldflags -lz"
else
def_zlib='#define CONFIG_ZLIB 0'
- _libavdecoders=`echo $_libavdecoders | sed -e s/FLASHSV_DECODER// -e s/PNG_DECODER// -e s/ZMBV_DECODER// -e s/DXA_DECODER// -e s/TSCC_DECODER// `
- _libavencoders=`echo $_libavencoders | sed -e s/FLASHSV_ENCODER// -e s/PNG_ENCODER// -e s/ZMBV_ENCODER// `
+ _libavdecoders=$(echo $_libavdecoders | sed -e s/FLASHSV_DECODER// -e s/PNG_DECODER// -e s/ZMBV_DECODER// -e s/DXA_DECODER// -e s/TSCC_DECODER//)
+ _libavencoders=$(echo $_libavencoders | sed -e s/FLASHSV_ENCODER// -e s/PNG_ENCODER// -e s/ZMBV_ENCODER//)
fi
echores "$_zlib"
@@ -6740,10 +6773,12 @@ echores "$_real"
echocheck "QuickTime codecs"
_qtx_emulation=no
def_qtx_win32='#undef CONFIG_QTX_CODECS_WIN32'
+def_quicktime='#undef CONFIG_QUICKTIME'
if test "$_qtx" = auto ; then
test "$_win32dll" = yes || darwin && _qtx=yes
fi
if test "$_qtx" = yes ; then
+ darwin && extra_ldflags="$extra_ldflags -framework QuickTime" && def_quicktime='#define CONFIG_QUICKTIME 1'
def_qtx='#define CONFIG_QTX_CODECS 1'
win32 && _qtx_codecs_win32=yes && def_qtx_win32='#define CONFIG_QTX_CODECS_WIN32 1'
_codecmodules="qtx $_codecmodules"
@@ -6758,8 +6793,8 @@ echocheck "Nemesi Streaming Media libraries"
if test "$_nemesi" = auto && test "$_network" = yes ; then
_nemesi=no
if $_pkg_config libnemesi --atleast-version=0.6.3 ; then
- extra_cflags="$extra_cflags `$_pkg_config --cflags libnemesi`"
- extra_ldflags="$extra_ldflags `$_pkg_config --libs libnemesi`"
+ extra_cflags="$extra_cflags $($_pkg_config --cflags libnemesi)"
+ extra_ldflags="$extra_ldflags $($_pkg_config --libs libnemesi)"
_nemesi=yes
fi
fi
@@ -6788,7 +6823,7 @@ EOF
_live=no
for I in $extra_cflags "-I$_libdir/live" "-I/usr/lib/live" "-I/usr/lib64/live" "-I/usr/local/live" "-I/usr/local/lib/live" ; do
cxx_check $I/liveMedia/include $I/UsageEnvironment/include \
- $I/groupsock/include && _livelibdir=`echo $I| sed s/-I//` && \
+ $I/groupsock/include && _livelibdir=$(echo $I| sed s/-I//) && \
extra_ldflags="$_livelibdir/liveMedia/libliveMedia.a \
$_livelibdir/groupsock/libgroupsock.a \
$_livelibdir/UsageEnvironment/libUsageEnvironment.a \
@@ -6841,8 +6876,8 @@ elif test "$_libavutil_so" = auto ; then
int main(void) { av_gcd(1,1); return 0; }
EOF
if $_pkg_config --exists libavutil ; then
- _inc_libavutil=`$_pkg_config --cflags libavutil`
- _ld_tmp=`$_pkg_config --libs libavutil`
+ _inc_libavutil=$($_pkg_config --cflags libavutil)
+ _ld_tmp=$($_pkg_config --libs libavutil)
cc_check $_inc_libavutil $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" \
&& _libavutil_so=yes
elif cc_check -lavutil $_ld_lm ; then
@@ -6880,8 +6915,8 @@ elif test "$_libavcodec_so" = auto ; then
int main(void) { avcodec_find_encoder_by_name(""); return 0; }
EOF
if $_pkg_config --exists libavcodec ; then
- _inc_libavcodec=`$_pkg_config --cflags libavcodec`
- _ld_tmp=`$_pkg_config --libs libavcodec`
+ _inc_libavcodec=$($_pkg_config --cflags libavcodec)
+ _ld_tmp=$($_pkg_config --libs libavcodec)
cc_check $_inc_libavcodec $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" \
&& _libavcodec_so=yes
elif cc_check -lavcodec $_ld_lm ; then
@@ -6924,8 +6959,8 @@ elif test "$_libavformat_so" = auto ; then
int main(void) { av_alloc_format_context(); return 0; }
EOF
if $_pkg_config --exists libavformat ; then
- _inc_libavformat=`$_pkg_config --cflags libavformat`
- _ld_tmp=`$_pkg_config --libs libavformat`
+ _inc_libavformat=$($_pkg_config --cflags libavformat)
+ _ld_tmp=$($_pkg_config --libs libavformat)
cc_check $_inc_libavformat $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" \
&& _libavformat_so=yes
elif cc_check $_ld_lm -lavformat ; then
@@ -6991,8 +7026,8 @@ elif test "$_libswscale_so" = auto ; then
int main(void) { sws_scale(0, 0, 0, 0, 0, 0, 0); return 0; }
EOF
if $_pkg_config --exists libswscale ; then
- _inc_libswscale=`$_pkg_config --cflags libswscale`
- _ld_tmp=`$_pkg_config --libs libswscale`
+ _inc_libswscale=$($_pkg_config --cflags libswscale)
+ _ld_tmp=$($_pkg_config --libs libswscale)
cc_check $_inc_libswscale $_ld_tmp && extra_ldflags="$extra_ldflags $_ld_tmp" \
&& _libswscale_so=yes
elif cc_check -lswscale ; then
@@ -7181,8 +7216,8 @@ int main(void)
}
EOF
if $_pkg_config --exists dirac ; then
- _inc_dirac=`$_pkg_config --silence-errors --cflags dirac`
- _ld_dirac=`$_pkg_config --silence-errors --libs dirac`
+ _inc_dirac=$($_pkg_config --silence-errors --cflags dirac)
+ _ld_dirac=$($_pkg_config --silence-errors --libs dirac)
cc_check $_inc_dirac $_ld_dirac &&
_libdirac_lavc=yes &&
extra_cflags="$extra_cflags $_inc_dirac" &&
@@ -7213,8 +7248,8 @@ if test "$_libschroedinger_lavc" = auto ; then
int main(void) { schro_init(); return 0; }
EOF
if $_pkg_config --exists schroedinger-1.0 ; then
- _inc_schroedinger=`$_pkg_config --silence-errors --cflags schroedinger-1.0`
- _ld_schroedinger=`$_pkg_config --silence-errors --libs schroedinger-1.0`
+ _inc_schroedinger=$($_pkg_config --silence-errors --cflags schroedinger-1.0)
+ _ld_schroedinger=$($_pkg_config --silence-errors --libs schroedinger-1.0)
cc_check $_inc_schroedinger $_ld_schroedinger &&
_libschroedinger_lavc=yes &&
extra_cflags="$extra_cflags $_inc_schroedinger" &&
@@ -7709,8 +7744,8 @@ echores "$_sortsub"
echocheck "XMMS inputplugin support"
if test "$_xmms" = yes ; then
if ( xmms-config --version ) >/dev/null 2>&1 ; then
- _xmmsplugindir=`xmms-config --input-plugin-dir`
- _xmmslibdir=`xmms-config --exec-prefix`/lib
+ _xmmsplugindir=$(xmms-config --input-plugin-dir)
+ _xmmslibdir=$(xmms-config --exec-prefix)/lib
else
_xmmsplugindir=/usr/lib/xmms/Input
_xmmslibdir=/usr/lib
@@ -7782,16 +7817,16 @@ if test "$_gtk1" = no ; then
echocheck "GTK+ version"
if $_pkg_config gtk+-2.0 --exists ; then
- _gtk=`$_pkg_config gtk+-2.0 --modversion 2>/dev/null`
- extra_cflags="$extra_cflags `$_pkg_config gtk+-2.0 --cflags 2>/dev/null`"
- libs_mplayer="$libs_mplayer `$_pkg_config gtk+-2.0 --libs 2>/dev/null`"
+ _gtk=$($_pkg_config gtk+-2.0 --modversion 2>/dev/null)
+ extra_cflags="$extra_cflags $($_pkg_config gtk+-2.0 --cflags 2>/dev/null)"
+ libs_mplayer="$libs_mplayer $($_pkg_config gtk+-2.0 --libs 2>/dev/null)"
echores "$_gtk"
# Check for GLIB2
if $_pkg_config glib-2.0 --exists ; then
echocheck "glib version"
- _glib=`$_pkg_config glib-2.0 --modversion 2>/dev/null`
- libs_mplayer="$libs_mplayer `$_pkg_config glib-2.0 --libs 2>/dev/null`"
+ _glib=$($_pkg_config glib-2.0 --modversion 2>/dev/null)
+ libs_mplayer="$libs_mplayer $($_pkg_config glib-2.0 --libs 2>/dev/null)"
echores "$_glib"
def_gui='#define CONFIG_GUI 1'
@@ -7818,9 +7853,9 @@ if test "$_gtk1" = yes ; then
die "The GUI requires GTK devel packages (which were not found)."
fi
fi
- _gtk=`$_gtkconfig --version 2>&1`
- extra_cflags="$extra_cflags `$_gtkconfig --cflags 2>&1`"
- libs_mplayer="$libs_mplayer `$_gtkconfig --libs 2>&1`"
+ _gtk=$($_gtkconfig --version 2>&1)
+ extra_cflags="$extra_cflags $($_gtkconfig --cflags 2>&1)"
+ libs_mplayer="$libs_mplayer $($_gtkconfig --libs 2>&1)"
echores "$_gtk (using $_gtkconfig)"
# Check for GLIB
@@ -7834,8 +7869,8 @@ if test "$_gtk1" = yes ; then
die "The GUI requires GLIB devel packages (which were not found)"
fi
fi
- _glib=`$_glibconfig --version 2>&1`
- libs_mplayer="$libs_mplayer `$_glibconfig --libs 2>&1`"
+ _glib=$($_glibconfig --version 2>&1)
+ libs_mplayer="$libs_mplayer $($_glibconfig --libs 2>&1)"
echores "$_glib (using $_glibconfig)"
def_gui='#define CONFIG_GUI 1'
@@ -7941,7 +7976,7 @@ EOF
fi
if test "$_lirc" = yes ; then
def_lirc='#define CONFIG_LIRC 1'
- extra_ldflags="$extra_ldflags -llirc_client"
+ libs_mplayer="$libs_mplayer -llirc_client"
else
def_lirc='#undef CONFIG_LIRC'
fi
@@ -7958,7 +7993,7 @@ EOF
fi
if test "$_lircc" = yes ; then
def_lircc='#define CONFIG_LIRCC 1'
- extra_ldflags="$extra_ldflags -llircc"
+ libs_mplayer="$libs_mplayer -llircc"
else
def_lircc='#undef CONFIG_LIRCC'
fi
@@ -7974,12 +8009,12 @@ if test "$_maemo" = auto ; then
#include <libosso.h>
int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
EOF
- cc_check `$_pkg_config --cflags --libs libosso 2>/dev/null` && _maemo=yes
+ cc_check $($_pkg_config --cflags --libs libosso 2>/dev/null) && _maemo=yes
fi
if test "$_maemo" = yes ; then
def_maemo='#define CONFIG_MAEMO 1'
- extra_cflags="$extra_cflags `$_pkg_config --cflags libosso`"
- extra_ldflags="$extra_ldflags `$_pkg_config --libs libosso` -lXsp"
+ extra_cflags="$extra_cflags $($_pkg_config --cflags libosso)"
+ extra_ldflags="$extra_ldflags $($_pkg_config --libs libosso) -lXsp"
else
def_maemo='#undef CONFIG_MAEMO'
fi
@@ -7998,7 +8033,7 @@ fi
# linker paths should be the same for mencoder and mplayer
_ld_tmp=""
for I in $libs_mplayer ; do
- _tmp=`echo $I | sed -e 's/^-L.*$//'`
+ _tmp=$(echo $I | sed -e 's/^-L.*$//')
if test -z "$_tmp" ; then
extra_ldflags="$extra_ldflags $I"
else
@@ -8009,22 +8044,6 @@ libs_mplayer=$_ld_tmp
#############################################################################
-if darwin ; then
- CFLAGS="$CFLAGS -mdynamic-no-pic -falign-loops=16 -shared-libgcc"
- if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
- CFLAGS="$CFLAGS -no-cpp-precomp"
- fi
-fi
-if amigaos ; then
- CFLAGS="$CFLAGS -DNEWLIB -D__USE_INLINE__"
-fi
-# Thread support
-if linux ; then
- CFLAGS="$CFLAGS -D_REENTRANT"
-elif freebsd || netbsd || openbsd || bsdos ; then
- # FIXME bsd needs this so maybe other OS'es
- CFLAGS="$CFLAGS -D_THREAD_SAFE"
-fi
# 64 bit file offsets?
if test "$_largefiles" = yes || freebsd ; then
CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
@@ -8036,20 +8055,6 @@ fi
CXXFLAGS=" $CFLAGS -Iffmpeg -D__STDC_LIMIT_MACROS"
-cat > $TMPC << EOF
-int main(void) { return 0; }
-EOF
-if test "$cc_vendor" = "gnu" ; then
- cc_check -std=gnu99 && CFLAGS="-std=gnu99 $CFLAGS"
- cc_check -Wno-pointer-sign && CFLAGS="-Wno-pointer-sign $CFLAGS"
- cc_check -Wdisabled-optimization && CFLAGS="-Wdisabled-optimization $CFLAGS"
- cc_check -Wundef && CFLAGS="-Wundef $CFLAGS"
-else
- CFLAGS="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS"
-fi
-
-cc_check -mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer="-mno-omit-leaf-frame-pointer"
-
# This must be the last test to be performed. Any other tests following it
# could fail due to linker errors. libdvdnavmini is intentionally not linked
# against libdvdread (to permit MPlayer to use its own copy of the library).
@@ -8076,8 +8081,8 @@ if test "$_dvdnav" = auto ; then
int main(void) { dvdnav_t *dvd=0; return 0; }
EOF
_dvdnav=no
- _dvdnavdir=`$_dvdnavconfig --cflags`
- _dvdnavlibs=`$_dvdnavconfig --libs`
+ _dvdnavdir=$($_dvdnavconfig --cflags)
+ _dvdnavlibs=$($_dvdnavconfig --libs)
cc_check $_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav=yes
fi
if test "$_dvdnav" = yes ; then
@@ -8087,8 +8092,8 @@ if test "$_dvdnav" = yes ; then
cflags_libdvdnav="-Ilibdvdnav"
_inputmodules="dvdnav(internal) $_inputmodules"
else
- extra_cflags="$extra_cflags `$_dvdnavconfig --cflags`"
- extra_ldflags="$extra_ldflags `$_dvdnavconfig --minilibs`"
+ extra_cflags="$extra_cflags $($_dvdnavconfig --cflags)"
+ extra_ldflags="$extra_ldflags $($_dvdnavconfig --minilibs)"
_inputmodules="dvdnav $_inputmodules"
fi
else
@@ -8111,6 +8116,8 @@ cat > config.mak << EOF
# Ensure that locale settings do not interfere with shell commands.
export LC_ALL = C
+CONFIGURATION = $_configuration
+
CHARSET = $_charset
DOC_LANG = $doc_lang
DOC_LANGS = $doc_langs
@@ -8170,7 +8177,7 @@ EXESUFS_ALL = .exe
$_target_arch
$_target_arch_x86
-`echo $_cpuexts | tr '[a-z] ' '[A-Z]\n' | sed 's/^/HAVE_/;s/$/=yes/'`
+$(echo $_cpuexts | tr '[a-z] ' '[A-Z]\n' | sed 's/^/HAVE_/;s/$/=yes/')
MENCODER = $_mencoder
MPLAYER = $_mplayer
@@ -8399,12 +8406,12 @@ HAVE_PTHREADS = $_pthreads
HAVE_W32THREADS = $_w32threads
HAVE_YASM = $_have_yasm
-`echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
-`echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
-`echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
-`echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
-`echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
-`echo $_libavbsfs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
+$(echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
+$(echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
+$(echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
+$(echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
+$(echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
+$(echo $_libavbsfs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
EOF
#############################################################################
@@ -8413,7 +8420,7 @@ ff_config_enable () {
_nprefix=$3;
test -z "$_nprefix" && _nprefix='CONFIG'
for part in $1; do
- if ` echo $2 | grep -q -E "(^| )$part($| )" `; then
+ if $(echo $2 | grep -q -E "(^| )$part($| )"); then
echo "#define ${_nprefix}_$part 1"
else
echo "#define ${_nprefix}_$part 0"
@@ -8484,6 +8491,7 @@ $def_fast_inttypes
#define READ_CACHE_TRACE 0
/* libdvdread */
#define HAVE_DLFCN_H 1
+$def_dvdcss
/* system headers */
@@ -8564,8 +8572,8 @@ $def_pthread_cache
/* CPU stuff */
#define __CPU__ $iproc
$def_words_endian
-`ff_config_enable "$_arch_all" "$_arch" "ARCH"`
-`ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE"`
+$(ff_config_enable "$_arch_all" "$_arch" "ARCH")
+$(ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE")
/* DVD/VCD/CD */
@@ -8824,6 +8832,7 @@ $def_posix_memalign
$def_pthreads
$def_ten_operands
$def_threads
+$def_xform_asm
$def_yasm
#define CONFIG_FASTDIV 0
@@ -8840,6 +8849,7 @@ $def_yasm
#define HAVE_GETHRTIME 0
#define HAVE_INLINE_ASM 0
+#define HAVE_LDBRX 0
#define HAVE_POLL_H 1
#define HAVE_PPC4XX 0
#define HAVE_VIRTUALALLOC 0
@@ -8870,13 +8880,13 @@ $def_mp3lame_lavc
$def_x264_lavc
$def_xvid_lavc
-`ff_config_enable "$_libavdecoders_all" "$_libavdecoders"`
-`ff_config_enable "$_libavencoders_all" "$_libavencoders"`
-`ff_config_enable "$_libavparsers_all" "$_libavparsers"`
-`ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers"`
-`ff_config_enable "$_libavmuxers_all" "$_libavmuxers"`
-`ff_config_enable "$_libavprotocols_all" "$_libavprotocols"`
-`ff_config_enable "$_libavbsfs_all" "$_libavbsfs"`
+$(ff_config_enable "$_libavdecoders_all" "$_libavdecoders")
+$(ff_config_enable "$_libavencoders_all" "$_libavencoders")
+$(ff_config_enable "$_libavparsers_all" "$_libavparsers")
+$(ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers")
+$(ff_config_enable "$_libavmuxers_all" "$_libavmuxers")
+$(ff_config_enable "$_libavprotocols_all" "$_libavprotocols")
+$(ff_config_enable "$_libavbsfs_all" "$_libavbsfs")
#define CONFIG_H263_VAAPI_HWACCEL 0
#define CONFIG_MPEG2_VAAPI_HWACCEL 0
diff --git a/get_path.c b/get_path.c
index f5cf41354e..6ef074b869 100644
--- a/get_path.c
+++ b/get_path.c
@@ -140,7 +140,7 @@ char *get_path(const char *filename){
}
#if (defined(__MINGW32__) || defined(__CYGWIN__)) && defined(CONFIG_WIN32DLL)
-void set_path_env()
+void set_path_env(void)
{
/*make our codec dirs available for LoadLibraryA()*/
char tmppath[MAX_PATH*2 + 1];
diff --git a/get_path.h b/get_path.h
index 09eef7b933..2f1909b601 100644
--- a/get_path.h
+++ b/get_path.h
@@ -22,6 +22,6 @@
#define MPLAYER_GET_PATH_H
char *get_path(const char *filename);
-void set_path_env();
+void set_path_env(void);
#endif /* MPLAYER_GET_PATH_H */
diff --git a/gui/interface.h b/gui/interface.h
index 63398867fc..65d9a0abd4 100644
--- a/gui/interface.h
+++ b/gui/interface.h
@@ -23,10 +23,7 @@
#include "mplayer/play.h"
#include "libvo/font_load.h"
#include "cfg.h"
-
-#ifdef CONFIG_DVDREAD
- #include "stream/stream.h"
-#endif
+#include "stream/stream.h"
typedef struct
{
diff --git a/help/help_mp-bg.h b/help/help_mp-bg.h
index 0ac845038e..6005107677 100644
--- a/help/help_mp-bg.h
+++ b/help/help_mp-bg.h
@@ -72,7 +72,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "Броя кадри в секунда не е указан или е невалиден, ползвайте опцията -fps .\n"
#define MSGTR_TryForceAudioFmtStr "Опит за ползване на фамилия аудио кодеци %s...\n"
#define MSGTR_CantFindAudioCodec "Не може да бъде намерен кодек за този аудио формат 0x%X.\n"
-#define MSGTR_RTFMCodecs "Прочетете DOCS/HTML/en/codecs.html!\n"
#define MSGTR_TryForceVideoFmtStr "Опит за ползване на фамилия видео кодеци %s...\n"
#define MSGTR_CantFindVideoCodec "Няма подходящ кодек за указаните -vo и видео формат 0x%X.\n"
#define MSGTR_CannotInitVO "ФАТАЛНО: Видео драйвера не може да бъде инициализиран.\n"
diff --git a/help/help_mp-cs.h b/help/help_mp-cs.h
index a9f0db02e3..b6edb8b329 100644
--- a/help/help_mp-cs.h
+++ b/help/help_mp-cs.h
@@ -70,7 +70,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "Údaj o FPS v hlavičce souboru je špatný nebo chybí, použijte volbu -fps!\n"
#define MSGTR_TryForceAudioFmtStr "Pokouším se vynutit rodinu audiokodeku %s...\n"
#define MSGTR_CantFindAudioCodec "Nemohu nalézt kodek pro audio formát 0x%X!\n"
-#define MSGTR_RTFMCodecs "Přečtěte si DOCS/HTML/en/codecs.html!\n"
#define MSGTR_TryForceVideoFmtStr "Pokouším se vynutit rodinu videokodeku %s...\n"
#define MSGTR_CantFindVideoCodec "Nemohu nalézt kodek pro vybraný -vo a video formát 0x%X.\n"
#define MSGTR_CannotInitVO "Kritická chyba: Nemohu inicializovat video rozhraní!\n"
diff --git a/help/help_mp-de.h b/help/help_mp-de.h
index db7f5ca8cd..0b5f467382 100644
--- a/help/help_mp-de.h
+++ b/help/help_mp-de.h
@@ -79,7 +79,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "FPS ist im Header nicht angegeben (oder ungültig)! Benutze die Option -fps!\n"
#define MSGTR_TryForceAudioFmtStr "Versuche Audiocodecfamilie %s zu erzwingen...\n"
#define MSGTR_CantFindAudioCodec "Kann Codec für Audioformat 0x%X nicht finden!\n"
-#define MSGTR_RTFMCodecs "Lies DOCS/HTML/de/codecs.html!\n"
#define MSGTR_TryForceVideoFmtStr "Versuche Videocodecfamilie %s zu erzwingen...\n"
#define MSGTR_CantFindVideoCodec "Kann keinen Codec finden, der zu gewählter Option -vo und Videoformat 0x%X passt!\n"
#define MSGTR_CannotInitVO "FATAL: Kann Videoausgabetreiber nicht initialisieren!\n"
@@ -1424,7 +1423,7 @@ static const char help_text[]=
#define MSGTR_MPDEMUX_MMST_UnknownObject "unbekanntes Objekt\n"
#define MSGTR_MPDEMUX_MMST_MediaDataReadFailed "Konnte Mediendaten nicht lesen.\n"
#define MSGTR_MPDEMUX_MMST_MissingSignature "fehlende Signatur\n"
-#define MSGTR_MPDEMUX_MMST_PatentedTechnologyJoke "Alles fertig. Vielen dank, dass Du eine prorietäre und patentierte Technologie beinhaltende Mediendatei heruntergeladen hast.\n"
+#define MSGTR_MPDEMUX_MMST_PatentedTechnologyJoke "Alles fertig. Vielen Dank, dass Du eine proprietäre und patentierte Technologie beinhaltende Mediendatei heruntergeladen hast.\n"
#define MSGTR_MPDEMUX_MMST_UnknownCmd "Unbekanntes Kommando %02x\n"
#define MSGTR_MPDEMUX_MMST_GetMediaPacketErr "get_media_packet lieferte Fehler zurück: %s\n"
#define MSGTR_MPDEMUX_MMST_Connected "Verbunden.\n"
diff --git a/help/help_mp-el.h b/help/help_mp-el.h
index bc9e6f494c..99114c8185 100644
--- a/help/help_mp-el.h
+++ b/help/help_mp-el.h
@@ -68,7 +68,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "Μη ορισμένα FPS (ή λάθος) στην επικεφαλίδα! Χρησιμοποιήστε την επιλογή -fps!\n"
#define MSGTR_TryForceAudioFmtStr "Προσπάθεια επιβολής της οικογένειας του οδηγού του ήχου %s...\n"
#define MSGTR_CantFindAudioCodec "Δεν είναι δυνατή η εύρεση του format του οδηγού του ήχου 0x%X!\n"
-#define MSGTR_RTFMCodecs "Διαβάστε DOCS/HTML/en/codecs.html!\n"
#define MSGTR_TryForceVideoFmtStr "Προσπάθεια επιβολής της οικογένειας του οδηγού του βίντεο %s...\n"
#define MSGTR_CantFindVideoCodec "Δεν είναι δυνατή η εύρεση του οδηγού για τον συγκεκριμένο -vo και το format του βίντεο 0x%X!\n"
#define MSGTR_VOincompCodec "Λυπάμαι, η επιλεγμένη συσκευή video_out δεν είναι συμβατή με αυτό τον οδηγό.\n"
diff --git a/help/help_mp-en.h b/help/help_mp-en.h
index a9f07a9ab5..384fee2c23 100644
--- a/help/help_mp-en.h
+++ b/help/help_mp-en.h
@@ -75,7 +75,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "FPS not specified in the header or invalid, use the -fps option.\n"
#define MSGTR_TryForceAudioFmtStr "Trying to force audio codec driver family %s...\n"
#define MSGTR_CantFindAudioCodec "Cannot find codec for audio format 0x%X.\n"
-#define MSGTR_RTFMCodecs "Read DOCS/HTML/en/codecs.html!\n"
#define MSGTR_TryForceVideoFmtStr "Trying to force video codec driver family %s...\n"
#define MSGTR_CantFindVideoCodec "Cannot find codec matching selected -vo and video format 0x%X.\n"
#define MSGTR_CannotInitVO "FATAL: Cannot initialize video driver.\n"
diff --git a/help/help_mp-es.h b/help/help_mp-es.h
index 3de10bb189..f23c4e720d 100644
--- a/help/help_mp-es.h
+++ b/help/help_mp-es.h
@@ -79,7 +79,6 @@ static const char help_text[]=
#define MSGTR_CoreDumped "Core dumped ;)\n"
#define MSGTR_FPSnotspecified "FPS no especificado (o inválido) en la cabecera! Usa la opción -fps.\n"
#define MSGTR_TryForceAudioFmtStr "Tratando de forzar la familia de codecs de audio %s...\n"
-#define MSGTR_RTFMCodecs "Revise el archivo DOCS/HTML/es/codecs.html!\n"
#define MSGTR_CantFindAudioCodec "No se encontró codec para el formato de audio 0x%X!\n"
#define MSGTR_TryForceVideoFmtStr "Tratando de forzar la familia de codecs de video %s...\n"
#define MSGTR_CantFindVideoCodec "No se encontró codec para el formato de video 0x%X!\n"
diff --git a/help/help_mp-fr.h b/help/help_mp-fr.h
index 9a8cbf2666..df5da9bb24 100644
--- a/help/help_mp-fr.h
+++ b/help/help_mp-fr.h
@@ -73,7 +73,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "FPS non spécifié dans l'entête ou invalide ! Utilisez l'option -fps.\n"
#define MSGTR_TryForceAudioFmtStr "Tente de forcer la famille de codecs audio %s ...\n"
#define MSGTR_CantFindAudioCodec "Ne peut trouver de codec pour le format audio 0x%X.\n"
-#define MSGTR_RTFMCodecs "Veuillez lire DOCS/HTML/fr/codecs.html !\n"
#define MSGTR_TryForceVideoFmtStr "Tente de forcer la famille de codecs vidéo %s ...\n"
#define MSGTR_CantFindVideoCodec "Ne peut trouver codec pour format -vo sélectionné et vidéo 0x%X.\n"
#define MSGTR_CannotInitVO "FATAL : Ne peut initialiser le pilote vidéo.\n"
diff --git a/help/help_mp-hu.h b/help/help_mp-hu.h
index 770c552b88..36a155cf2a 100644
--- a/help/help_mp-hu.h
+++ b/help/help_mp-hu.h
@@ -71,7 +71,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "Az FPS (képkocka/mp) érték nincs megadva, vagy hibás! Használd az -fps opciót!\n"
#define MSGTR_TryForceAudioFmtStr "Megpróbálom a(z) %s audio codec-családot használni...\n"
#define MSGTR_CantFindAudioCodec "Nem találok codecet a(z) 0x%X audio-formátumhoz!\n"
-#define MSGTR_RTFMCodecs "Olvasd el a DOCS/HTML/hu/codecs.html fájlt!\n"
#define MSGTR_TryForceVideoFmtStr "Megpróbálom a(z) %s video codec-családot használni...\n"
#define MSGTR_CantFindVideoCodec "Nem találok codec-et ami megfelel a kivalasztott vo-hoz és 0x%X video-formátumhoz!\n"
#define MSGTR_CannotInitVO "VÉGZETES HIBA: Nem tudom elindítani a video-meghajtót!\n"
diff --git a/help/help_mp-it.h b/help/help_mp-it.h
index c747ae3a49..5a991e4ab1 100644
--- a/help/help_mp-it.h
+++ b/help/help_mp-it.h
@@ -73,7 +73,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "FPS non specificato (o non valido) nell'intestazione! Usa l'opzione -fps!\n"
#define MSGTR_TryForceAudioFmtStr "Cerco di forzare l'uso della famiglia dei driver dei codec audio %s...\n"
#define MSGTR_CantFindAudioCodec "Impossibile trovare il codec per il formato audio 0x%X!\n"
-#define MSGTR_RTFMCodecs "Leggi DOCS/HTML/it/codecs.html!\n"
#define MSGTR_TryForceVideoFmtStr "Cerco di forzare l'uso della famiglia dei driver dei codec video %s...\n"
#define MSGTR_CantFindVideoCodec "Impossibile trovare il codec per il formato video 0x%X!\n"
#define MSGTR_CannotInitVO "FATALE: Impossibile inizializzare il driver video!\n"
diff --git a/help/help_mp-ja.h b/help/help_mp-ja.h
index 61aa98a765..9aa57f2053 100644
--- a/help/help_mp-ja.h
+++ b/help/help_mp-ja.h
@@ -67,7 +67,6 @@ static const char help_text[]=
#define MSGTR_CoreDumped "コアダンプ ;)\n"
#define MSGTR_FPSnotspecified "FPS がヘッダに指定されていないか不正です. -fps オプションを利用して下さい.\n"
#define MSGTR_CantFindAudioCodec "audio format 0x%X 向けのコーデックを見付ける事が出来ませんでした.\n"
-#define MSGTR_RTFMCodecs "DOCS/HTML/en/codecs.html を御覧下さい\n"
#define MSGTR_VOincompCodec "選択された映像出力デバイスはコーデックと互換性がありません\n"
#define MSGTR_CannotInitVO "FATAL: 映像出力ドライバの初期化に失敗しました.\n"
#define MSGTR_CannotInitAO "音声デバイスの初期化に失敗しました -> 無音声になります.\n"
diff --git a/help/help_mp-ko.h b/help/help_mp-ko.h
index 7d883a35dd..0059ae3ccf 100644
--- a/help/help_mp-ko.h
+++ b/help/help_mp-ko.h
@@ -67,7 +67,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "헤더에 FPS가 지정되지 않았거나 유효하지 않습니다. -fps 옵션을 사용하세요.\n"
#define MSGTR_TryForceAudioFmtStr "오디오 코덱 드라이버 집합 %s를 시도하고 있습니다...\n"
#define MSGTR_CantFindAudioCodec "오디오 형식 0x%X를 위한 코덱을 찾을 수 없습니다.\n"
-#define MSGTR_RTFMCodecs "DOCS/HTML/en/codecs.html을 참조하세요!\n"
#define MSGTR_TryForceVideoFmtStr "비디오 코덱 드라이버 집합 %s를 시도하고 있습니다...\n"
#define MSGTR_CantFindVideoCodec "선택한 -vo 및 비디오 형식 0x%X과 일치하는 코덱을 찾을 수 없습니다.\n"
#define MSGTR_VOincompCodec "선택한 비디오 출력 장치는 이 코덱과 호환되지 않습니다.\n"
diff --git a/help/help_mp-mk.h b/help/help_mp-mk.h
index a65ea9d86c..153a0bcca5 100644
--- a/help/help_mp-mk.h
+++ b/help/help_mp-mk.h
@@ -68,7 +68,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "FPS(Frames Per Second) не се специфицирани во хедерот или се невалидни, користете ја -fps опцијата.\n"
#define MSGTR_TryForceAudioFmtStr "Проба да го присили драјверот на аудио кодекот %s ...\n"
#define MSGTR_CantFindAudioCodec "Не може да го пронајде кодекот за аудио форматот 0x%X.\n"
-#define MSGTR_RTFMCodecs "Прочитај DOCS/HTML/en/codecs.html!\n"
#define MSGTR_TryForceVideoFmtStr "Пробува да го присили драјверот на видео кодекот %s ...\n"
#define MSGTR_CantFindVideoCodec "Не може да го пронајде кодекот кој одговара избран со -vo и видео форматот 0x%X.\n"
#define MSGTR_VOincompCodec "Избраниот излезен видео уред не е соодветен со овој кодек.\n"
diff --git a/help/help_mp-nl.h b/help/help_mp-nl.h
index 9171a03954..b838f87a12 100644
--- a/help/help_mp-nl.h
+++ b/help/help_mp-nl.h
@@ -68,7 +68,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "FPS niet gespecificeerd (of foutief) in de header! Gebruik de optie -fps!\n"
#define MSGTR_TryForceAudioFmtStr "Probeer audio codec driver familie %s te forceren...\n"
#define MSGTR_CantFindAudioCodec "Kan codec voor audio format 0x%X niet vinden!\n"
-#define MSGTR_RTFMCodecs "Lees DOCS/HTML/en/codecs.html voor meer informatie!\n"
#define MSGTR_TryForceVideoFmtStr "Probeer video codec driver familie %s te forceren...\n"
#define MSGTR_CantFindVideoCodec "Kan codec voor video format 0x%X niet vinden!\n"
#define MSGTR_VOincompCodec "Sorry, geselecteerde video_out device is incompatibel met deze codec.\n"
diff --git a/help/help_mp-pl.h b/help/help_mp-pl.h
index 14191d1e8f..499a600fda 100644
--- a/help/help_mp-pl.h
+++ b/help/help_mp-pl.h
@@ -72,7 +72,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "Brak wartości FPS w nagłówku lub jest ona nieprawidłowa, użyj opcji -fps <ilość_klatek>.\n"
#define MSGTR_TryForceAudioFmtStr "Próbuję wymusić kodek audio z rodziny %s...\n"
#define MSGTR_CantFindAudioCodec "Nie mogę odnaleźć kodeka audio 0x%X.\n"
-#define MSGTR_RTFMCodecs "Zobacz DOCS/HTML/en/codecs.html!\n"
#define MSGTR_TryForceVideoFmtStr "Próbuję wymusić kodek video z rodziny %s...\n"
#define MSGTR_CantFindVideoCodec "Nie mogę odnaleźć kodeka video pasującego do wybranego -vo i formatu video 0x%X.\n"
#define MSGTR_CannotInitVO "Błąd krytyczny: Nie mogę uruchomić sterownika video.\n"
@@ -625,8 +624,8 @@ static const char help_text[]=
#define MSGTR_UsingExternalPP "[PP] Używam zewnętrznego filtra postprocessing, max q = %d.\n"
#define MSGTR_UsingCodecPP "[PP] Używam filtra postprocessing kodeka, max q = %d.\n"
#define MSGTR_VideoAttributeNotSupportedByVO_VD "Atrybut video '%s' nie jest obsługiwany przez wybrany vo & vd.\n"
-#define MSGTR_VideoCodecFamilyNotAvailableStr "Zarządano rodziny kodeków video [%s] (vfm=%s) niedostępna.\nWłącz ją przy kompilacji.\n"
-#define MSGTR_AudioCodecFamilyNotAvailableStr "Zarządano rodziny kodeków audio [%s] (afm=%s) niedostępna.\nWłącz ją przy kompilacji.\n"
+#define MSGTR_VideoCodecFamilyNotAvailableStr "Zażądano rodziny kodeków video [%s] (vfm=%s) niedostępna.\nWłącz ją przy kompilacji.\n"
+#define MSGTR_AudioCodecFamilyNotAvailableStr "Zażądano rodziny kodeków audio [%s] (afm=%s) niedostępna.\nWłącz ją przy kompilacji.\n"
#define MSGTR_OpeningVideoDecoder "Otwieram dekoder video: [%s] %s\n"
#define MSGTR_SelectedVideoCodec "Wybrany kodek video: [%s] vfm: %s (%s)\n"
#define MSGTR_OpeningAudioDecoder "Otwieram dekoder audio: [%s] %s\n"
diff --git a/help/help_mp-ro.h b/help/help_mp-ro.h
index 499a470c4f..19f501359c 100644
--- a/help/help_mp-ro.h
+++ b/help/help_mp-ro.h
@@ -75,7 +75,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "FPS (nr. de cadre pe secundã) nu e specificat în header sau e greºit; foloseºte opþiunea '-fps'.\n"
#define MSGTR_TryForceAudioFmtStr "Forþez familia de codec audio %s...\n"
#define MSGTR_CantFindAudioCodec "Nu gãsesc codec pentru formatul audio 0x%X.\n"
-#define MSGTR_RTFMCodecs "Citeºte DOCS/HTML/en/codecs.html!\n" //lang
#define MSGTR_TryForceVideoFmtStr "Forþez familia de codecuri video %s...\n"
#define MSGTR_CantFindVideoCodec "Nu gãsesc codec potrivit pentru ieºirea '-vo' aleasã ºi formatul video 0x%X.\n"
#define MSGTR_VOincompCodec "Dispozitivul de ieºire video ales e incompatibil cu acest codec.\n"
diff --git a/help/help_mp-ru.h b/help/help_mp-ru.h
index d997bf1347..3371b8e38f 100644
--- a/help/help_mp-ru.h
+++ b/help/help_mp-ru.h
@@ -71,7 +71,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "В заголовке кадры/сек не указаны (или недопустимые)! Используйте опцию -fps!\n"
#define MSGTR_TryForceAudioFmtStr "Попытка форсировать семейство аудиокодеков %s...\n"
#define MSGTR_CantFindAudioCodec "Не могу найти кодек для аудиоформата 0x%X!\n"
-#define MSGTR_RTFMCodecs "Прочтите DOCS/HTML/ru/codecs.html!\n"
#define MSGTR_TryForceVideoFmtStr "Попытка форсировать семейство видеокодеков %s...\n"
#define MSGTR_CantFindVideoCodec "Не могу найти кодек для выбранного -vo и видеоформата 0x%X!\n"
#define MSGTR_CannotInitVO "ФАТАЛЬНАЯ ОШИБКА: Не могу инициализировать видеодрайвер!\n"
diff --git a/help/help_mp-sk.h b/help/help_mp-sk.h
index 875adedf2c..a2b2392dac 100644
--- a/help/help_mp-sk.h
+++ b/help/help_mp-sk.h
@@ -71,7 +71,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "V hlavičke súboru nie je udané (alebo je zlé) FPS! Použite voľbu -fps!\n"
#define MSGTR_TryForceAudioFmtStr "Pokúšam sa vynútiť rodinu audiokodeku %s...\n"
#define MSGTR_CantFindAudioCodec "Nemôžem nájsť kodek pre audio formát 0x%X!\n"
-#define MSGTR_RTFMCodecs "Prečítajte si DOCS/HTML/en/codecs.html!\n"
#define MSGTR_TryForceVideoFmtStr "Pokúšam se vnútiť rodinu videokodeku %s...\n"
#define MSGTR_CantFindVideoCodec "Nemôžem najsť kodek pre video formát 0x%X!\n"
#define MSGTR_CannotInitVO "FATAL: Nemôžem inicializovať video driver!\n"
diff --git a/help/help_mp-sv.h b/help/help_mp-sv.h
index 79e624b924..55a31c4362 100644
--- a/help/help_mp-sv.h
+++ b/help/help_mp-sv.h
@@ -70,7 +70,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "FPS ej specifierad i filhuvudet eller är icke godkänd, använd argument -fps.\n"
#define MSGTR_TryForceAudioFmtStr "Försöker att forcera audiocodecfamilj %s...\n"
#define MSGTR_CantFindAudioCodec "Kan inte finna codec för audioformat 0x%X.\n"
-#define MSGTR_RTFMCodecs "Läs DOCS/HTML/en/codecs.html!\n"
#define MSGTR_TryForceVideoFmtStr "Försöker att forcera videocodecfamilj %s...\n"
#define MSGTR_CantFindVideoCodec "Kan inte finna codec för vald -vo och videoformat 0x%X.\n"
#define MSGTR_CannotInitVO "FATALT: Kan inte initiera videodrivrutin.\n"
diff --git a/help/help_mp-tr.h b/help/help_mp-tr.h
index ae7b57c4d9..0ced0bf95c 100644
--- a/help/help_mp-tr.h
+++ b/help/help_mp-tr.h
@@ -73,7 +73,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "Başlıktaki FPS belirsiz veya geçersiz, -fps seçeneğini kullanınız!\n"
#define MSGTR_TryForceAudioFmtStr "%s ses kodek sürücülerini zorlama deneniyor...\n"
#define MSGTR_CantFindAudioCodec "0x%X! ses biçimi için kodek bulunamıyor\n"
-#define MSGTR_RTFMCodecs "DOCS/HTML/en/codecs.html sayfasını okuyunuz!\n"
#define MSGTR_TryForceVideoFmtStr "%s video kodek sürücülerini zorlama deneniyor...\n"
#define MSGTR_CantFindVideoCodec "Seçili -vo sürücüsü ve 0x%X video biçimi için kodek bulunamadı!\n"
#define MSGTR_CannotInitVO "HATA: Video sürücüsü başlatılamıyor!\n"
diff --git a/help/help_mp-uk.h b/help/help_mp-uk.h
index bebc874970..81e3637175 100644
--- a/help/help_mp-uk.h
+++ b/help/help_mp-uk.h
@@ -69,7 +69,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "Не вказано чи невірна кількість кадрів, застосуйте опцію -fps.\n"
#define MSGTR_TryForceAudioFmtStr "Намагаюсь форсувати групу аудіо кодеків %s...\n"
#define MSGTR_CantFindVideoCodec "Не можу знайти кодек для відео формату 0x%X!\n"
-#define MSGTR_RTFMCodecs "Прочитайте DOCS/HTML/en/codecs.html!\n"
#define MSGTR_TryForceVideoFmtStr "Намагаюсь форсувати групу відео кодеків %s...\n"
#define MSGTR_CannotInitVO "ФАТАЛЬНО: Не можу ініціалізувати відео драйвер!\n"
#define MSGTR_CannotInitAO "не можу відкрити/ініціалізувати аудіо пристрій -> ГРАЮ БЕЗ ЗВУКУ\n"
diff --git a/help/help_mp-zh_CN.h b/help/help_mp-zh_CN.h
index 26df21c131..c43f04db38 100644
--- a/help/help_mp-zh_CN.h
+++ b/help/help_mp-zh_CN.h
@@ -1,4 +1,4 @@
-// Synced with help_mp-en.h r28122 (MSGTR_EdlOutOfMem)
+// Synced with help_mp-en.h r29209 (MSGTR_RecommendedVideoBitrate)
// Reminder of hard terms which need better/final solution later:
// (file links to be updated later if available!);
// NAV; section/subsection; XScreenSaver; keycolor;
@@ -79,7 +79,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "FPS 在文件头中没有指定或者无效,请使用 -fps 选项。\n"
#define MSGTR_TryForceAudioFmtStr "尝试强制使用音频编解码器驱动族 %s...\n"
#define MSGTR_CantFindAudioCodec "找不到音频格式 0x%X 的编解码器。\n"
-#define MSGTR_RTFMCodecs "请阅读 DOCS/zh/codecs.html!\n"
#define MSGTR_TryForceVideoFmtStr "尝试强制使用视频编解码器驱动族 %s...\n"
#define MSGTR_CantFindVideoCodec "找不到匹配所选 -vo 参数和视频格式 0x%X 的编解码器。\n"
#define MSGTR_CannotInitVO "致命错误:无法初始化视频驱动!\n"
@@ -190,49 +189,49 @@ static const char help_text[]=
// --- edit decision lists
#define MSGTR_EdlOutOfMem "不能分配足够的内存来保持 EDL 数据。\n"
-#define MSGTR_EdlRecordsNo "读取 %d EDL 动作。\n"
-#define MSGTR_EdlQueueEmpty "没有 EDL 动作要处理。\n"
-#define MSGTR_EdlCantOpenForWrite "打不开 EDL 文件 [%s] 写入。\n"
-#define MSGTR_EdlCantOpenForRead "打不开 EDL 文件 [%s] 读取。\n"
-#define MSGTR_EdlNOsh_video "没有视频不能使用 EDL, 取消中。\n"
-#define MSGTR_EdlNOValidLine "无效 EDL 线: %s\n"
-#define MSGTR_EdlBadlyFormattedLine "错误格式的 EDL 线 [%d], 丢弃。\n"
-#define MSGTR_EdlBadLineOverlap "上次停止的位置是 [%f]; 下次开始的位置在 [%f]。\n"\
-"每一项必须按时间顺序, 不能重叠。 丢弃。\n"
-#define MSGTR_EdlBadLineBadStop "停止时间必须是在开始时间之后。\n"
-#define MSGTR_EdloutBadStop "EDL 跳跃已取消, 上次开始位置 > 停止位置\n"
-#define MSGTR_EdloutStartSkip "EDL 跳跃开始, 再按键 'i' 以停止。\n"
-#define MSGTR_EdloutEndSkip "EDL 跳跃结束, 线已写入。\n"
-#define MSGTR_MPEndposNoSizeBased "MPlayer 的选项 -endpos 还不支持大小单位。\n"
+#define MSGTR_EdlRecordsNo "读取 %d 个 EDL 行为。\n"
+#define MSGTR_EdlQueueEmpty "没有 EDL 行为要处理。\n"
+#define MSGTR_EdlCantOpenForWrite "无法打开并写入 EDL 文件 [%s]。\n"
+#define MSGTR_EdlCantOpenForRead "无法打开并读取 EDL 文件 [%s]。\n"
+#define MSGTR_EdlNOsh_video "无视频流时无法使用 EDL,禁用该功能。\n"
+#define MSGTR_EdlNOValidLine "无效的一行 EDL 文本:%s\n"
+#define MSGTR_EdlBadlyFormattedLine "格式错误的一行 EDL 文本 [%d],丢弃该行。\n"
+#define MSGTR_EdlBadLineOverlap "上一个终止位置是 [%f];下一个起始位置是 [%f]。\n"\
+"每一项内容必须按时间顺序排列,不能重叠。 丢弃该行。\n"
+#define MSGTR_EdlBadLineBadStop "终止时间必须位于起始时间之后。\n"
+#define MSGTR_EdloutBadStop "取消 EDL 跳跃,上一个开始位置 > 停止位置\n"
+#define MSGTR_EdloutStartSkip "开始 EDL 跳跃,再按键‘i’以指定跳过内容的结尾。\n"
+#define MSGTR_EdloutEndSkip "结束 EDL 跳跃,文本行已写入。\n"
+#define MSGTR_MPEndposNoSizeBased "MPlayer 的选项 -endpos 还不支持指定尺寸大小的单位。\n"
// mplayer.c OSD
#define MSGTR_OSDenabled "已启用"
#define MSGTR_OSDdisabled "已停用"
-#define MSGTR_OSDAudio "音频: %s"
-#define MSGTR_OSDVideo "视频: %s"
-#define MSGTR_OSDChannel "频道: %s"
-#define MSGTR_OSDSubDelay "字幕延迟: %d 毫秒"
-#define MSGTR_OSDSpeed "速度: x %6.2f"
-#define MSGTR_OSDosd "OSD: %s"
-#define MSGTR_OSDChapter "章节: (%d) %s"
+#define MSGTR_OSDAudio "音频:%s"
+#define MSGTR_OSDVideo "视频:%s"
+#define MSGTR_OSDChannel "频道:%s"
+#define MSGTR_OSDSubDelay "字幕延迟:%d 毫秒"
+#define MSGTR_OSDSpeed "播放速度:x %6.2f"
+#define MSGTR_OSDosd "OSD:%s"
+#define MSGTR_OSDChapter "章节:(%d)%s"
#define MSGTR_OSDAngle "视角:%d/%d"
// property values
#define MSGTR_Enabled "已启用"
-#define MSGTR_EnabledEdl "已启用 EDL"
+#define MSGTR_EnabledEdl "已启用(EDL)"
#define MSGTR_Disabled "已停用"
-#define MSGTR_HardFrameDrop "强丢帧"
+#define MSGTR_HardFrameDrop "强制丢帧"
#define MSGTR_Unknown "未知"
#define MSGTR_Bottom "底部"
#define MSGTR_Center "中部"
#define MSGTR_Top "顶部"
#define MSGTR_SubSourceFile "字幕文件"
#define MSGTR_SubSourceVobsub "VOBSUB"
-#define MSGTR_SubSourceDemux "内嵌字幕"
+#define MSGTR_SubSourceDemux "附带字幕"
// OSD bar names
#define MSGTR_Volume "音量"
-#define MSGTR_Panscan "摇移"
+#define MSGTR_Panscan "全景模式"
#define MSGTR_Gamma "伽玛值"
#define MSGTR_Brightness "亮度"
#define MSGTR_Contrast "对比度"
@@ -241,48 +240,48 @@ static const char help_text[]=
#define MSGTR_Balance "均衡"
// property state
-#define MSGTR_LoopStatus "循环方式: %s"
-#define MSGTR_MuteStatus "静音: %s"
+#define MSGTR_LoopStatus "循环模式:%s"
+#define MSGTR_MuteStatus "静音:%s"
#define MSGTR_AVDelayStatus "A-V 延迟: %s"
-#define MSGTR_OnTopStatus "总在最前: %s"
-#define MSGTR_RootwinStatus "根窗口: %s"
-#define MSGTR_BorderStatus "边框: %s"
-#define MSGTR_FramedroppingStatus "丢帧: %s"
-#define MSGTR_VSyncStatus "视频同步: %s"
-#define MSGTR_SubSelectStatus "字幕: %s"
+#define MSGTR_OnTopStatus "保持在前面:%s"
+#define MSGTR_RootwinStatus "根窗口:%s"
+#define MSGTR_BorderStatus "边框:%s"
+#define MSGTR_FramedroppingStatus "丢帧:%s"
+#define MSGTR_VSyncStatus "垂直刷新同步:%s"
+#define MSGTR_SubSelectStatus "字幕:%s"
#define MSGTR_SubSourceStatus "字幕来源:%s"
-#define MSGTR_SubPosStatus "字幕位置: %s/100"
-#define MSGTR_SubAlignStatus "字幕对齐: %s"
-#define MSGTR_SubDelayStatus "字幕延迟: %s"
-#define MSGTR_SubScale "字幕大小: %s"
-#define MSGTR_SubVisibleStatus "显示字幕: %s"
-#define MSGTR_SubForcedOnlyStatus "只用锁定的字幕: %s"
+#define MSGTR_SubPosStatus "字幕位置:%s/100"
+#define MSGTR_SubAlignStatus "字幕对齐方式:%s"
+#define MSGTR_SubDelayStatus "字幕延迟:%s"
+#define MSGTR_SubScale "字幕缩放:%s"
+#define MSGTR_SubVisibleStatus "显示字幕:%s"
+#define MSGTR_SubForcedOnlyStatus "只用强制使用的字幕:%s"
// mencoder.c
-#define MSGTR_UsingPass3ControlFile "使用 pass3 控制文件: %s\n"
-#define MSGTR_MissingFilename "\n没有文件名。\n\n"
-#define MSGTR_CannotOpenFile_Device "打不开文件/设备。\n"
-#define MSGTR_CannotOpenDemuxer "打不开分路器。\n"
-#define MSGTR_NoAudioEncoderSelected "\n没有 (-oac) 所选的音频编码器。(参考 -oac help)选择一个或者使用 -nosound。\n"
-#define MSGTR_NoVideoEncoderSelected "\n没有 (-ovc) 所选的视频解码器。(参考 -ovc help)选择一个。\n"
-#define MSGTR_CannotOpenOutputFile "打不开输出文件 '%s'。\n"
+#define MSGTR_UsingPass3ControlFile "使用第三阶段的控制文件:%s\n"
+#define MSGTR_MissingFilename "\n没有指定文件名。\n\n"
+#define MSGTR_CannotOpenFile_Device "无法打开文件/设备。\n"
+#define MSGTR_CannotOpenDemuxer "无法打开流分离器。\n"
+#define MSGTR_NoAudioEncoderSelected "\n没有选择音频编码器(-oac)。请选择一个编码器(参见 -oac help)或者使用 -nosound。\n"
+#define MSGTR_NoVideoEncoderSelected "\n没有选择视频编码器(-ovc)。请选择一个编码器(参见 -ovc help)。\n"
+#define MSGTR_CannotOpenOutputFile "无法打开输出文件‘%s’。\n"
#define MSGTR_EncoderOpenFailed "打开编码器失败。\n"
-#define MSGTR_MencoderWrongFormatAVI "\n警告: 输出文件格式是 _AVI_。请查看 -of help。\n"
-#define MSGTR_MencoderWrongFormatMPG "\n警告: 输出文件格式是 _MPEG_。请查看 -of help。\n"
-#define MSGTR_MissingOutputFilename "没有指定输出文件, 请查看 -o 选项。"
-#define MSGTR_ForcingOutputFourcc "锁定输出的 FourCC 为 %x [%.4s]。\n"
-#define MSGTR_ForcingOutputAudiofmtTag "锁定输出音频格式标签为 0x%x。\n"
-#define MSGTR_DuplicateFrames "\n%d 帧重复!\n"
-#define MSGTR_SkipFrame "\n跳帧中!\n"
-#define MSGTR_ResolutionDoesntMatch "\n新的视频文件的解析度或色彩空间和前一个不同。\n"
-#define MSGTR_FrameCopyFileMismatch "\n所有的视频文件必须要有同样的帧率, 解析度和编解码器才能使用 -ovc copy。\n"
-#define MSGTR_AudioCopyFileMismatch "\n所有的音频文件必须要有同样的音频编解码器和格式才能使用 -oac copy。\n"
-#define MSGTR_NoAudioFileMismatch "\n不能把只有视频的文件和音频视频文件混合。试试 -nosound。\n"
-#define MSGTR_NoSpeedWithFrameCopy "警告: -speed 不保证能和 -oac copy 一起正常工作!\n"\
-"你的编码可能失败!\n"
-#define MSGTR_ErrorWritingFile "%s: 写文件错误。\n"
-#define MSGTR_FlushingVideoFrames "\n清空(flush)视频帧。\n"
-#define MSGTR_FiltersHaveNotBeenConfiguredEmptyFile "过滤器尚未配置! 空文件?\n"
+#define MSGTR_MencoderWrongFormatAVI "\n警告:输出文件格式是 _AVI_。参见 -of help。\n"
+#define MSGTR_MencoderWrongFormatMPG "\n警告:输出文件格式是 _MPEG_。参见 -of help。\n"
+#define MSGTR_MissingOutputFilename "没有指定输出文件,请参见 -o 选项。"
+#define MSGTR_ForcingOutputFourcc "强制输出内容的 FourCC 为 %x [%.4s]。\n"
+#define MSGTR_ForcingOutputAudiofmtTag "强制输出音频的格式标签为 0x%x。\n"
+#define MSGTR_DuplicateFrames "\n%d 个重复的帧!\n"
+#define MSGTR_SkipFrame "\n跳帧中!\n"
+#define MSGTR_ResolutionDoesntMatch "\n新的视频文件和前一个文件的分辨率或色彩空间不同。\n"
+#define MSGTR_FrameCopyFileMismatch "\n所有的视频文件必须使用同样的帧率、分辨率和编解码器才能使用 -ovc copy。\n"
+#define MSGTR_AudioCopyFileMismatch "\n所有的音频文件必须使用同样的音频编解码器和格式才能使用 -oac copy。\n"
+#define MSGTR_NoAudioFileMismatch "\n无法把只有视频流的文件与含有音频和视频的文件混在一起使用。请尝试使用 -nosound。\n"
+#define MSGTR_NoSpeedWithFrameCopy "警告:不能保证 -speed 能和 -oac copy 一起正常工作!\n"\
+"你的编码过程可能会有错误!\n"
+#define MSGTR_ErrorWritingFile "%s:写入文件出错。\n"
+#define MSGTR_FlushingVideoFrames "\n立即输出视频帧缓冲中的内容。\n"
+#define MSGTR_FiltersHaveNotBeenConfiguredEmptyFile "过滤器尚未配置!文件为空?\n"
#define MSGTR_RecommendedVideoBitrate "%s CD 推荐的视频比特率为: %d\n"
#define MSGTR_VideoStreamResult "\n视频流: %8.3f kbit/s (%d B/s) 大小: %"PRIu64" 字节 %5.3f 秒 %d 帧\n"
#define MSGTR_AudioStreamResult "\n音频流: %8.3f kbit/s (%d B/s) 大小: %"PRIu64" 字节 %5.3f 秒\n"
diff --git a/help/help_mp-zh_TW.h b/help/help_mp-zh_TW.h
index 928d35aff6..d1ad121d60 100644
--- a/help/help_mp-zh_TW.h
+++ b/help/help_mp-zh_TW.h
@@ -75,7 +75,6 @@ static const char help_text[]=
#define MSGTR_FPSnotspecified "FPS 在文件頭中没有指定或者無效,用 -fps 選項。\n"
#define MSGTR_TryForceAudioFmtStr "嘗試鎖定為音頻編解碼器驅動族 %s...\n"
#define MSGTR_CantFindAudioCodec "找不到音頻格式 0x%X 的編解碼器。\n"
-#define MSGTR_RTFMCodecs "請閲讀 DOCS/zh/codecs.html!\n"
#define MSGTR_TryForceVideoFmtStr "嘗試鎖定為視頻編解碼器驅動族 %s...\n"
#define MSGTR_CantFindVideoCodec "找不到匹配 -vo 所選的和視頻格式 0x%X 的編解碼器。\n"
#define MSGTR_CannotInitVO "致命錯誤: 無法初始化視頻驅動!\n"
diff --git a/input/ar.c b/input/ar.c
index 41e7736e45..0827b8be83 100644
--- a/input/ar.c
+++ b/input/ar.c
@@ -303,7 +303,7 @@ mp_input_ar_init_error:
return -1;
}
-int is_mplayer_front()
+int is_mplayer_front(void)
{
ProcessSerialNumber myProc, frProc;
Boolean sameProc;
diff --git a/liba52/test.c b/liba52/test.c
index f54ca5f836..2fb661011d 100644
--- a/liba52/test.c
+++ b/liba52/test.c
@@ -43,7 +43,7 @@ void mp_msg( int x, const char *format, ... ) // stub for cpudetect.c
}
#ifdef TIMING
-static inline long long rdtsc()
+static inline long long rdtsc(void)
{
long long l;
__asm__ volatile("rdtsc\n\t"
diff --git a/libaf/af_bs2b.c b/libaf/af_bs2b.c
index 4899fcc070..14d31c35be 100644
--- a/libaf/af_bs2b.c
+++ b/libaf/af_bs2b.c
@@ -24,18 +24,20 @@
#include <bs2b.h>
#include <inttypes.h>
#include <stdlib.h>
+#include <string.h>
#include "af.h"
#include "subopt-helper.h"
/// Internal specific data of the filter
struct af_bs2b {
- int level; ///< crossfeed level
- int profile; ///< profile (easy or normal)
+ int fcut; ///< cut frequency in Hz
+ int feed; ///< feed level for low frequencies in 0.1*dB
+ char *profile; ///< profile (available crossfeed presets)
t_bs2bdp filter; ///< instance of a library filter
};
-#define PLAY(name,type) \
+#define PLAY(name, type) \
static af_data_t *play_##name(struct af_instance_s *af, af_data_t *data) \
{ \
/* filter is called for all pairs of samples available in the buffer */ \
@@ -45,39 +47,47 @@ static af_data_t *play_##name(struct af_instance_s *af, af_data_t *data) \
return data; \
}
-PLAY(f,float)
-PLAY(fbe,float)
-PLAY(fle,float)
-PLAY(s32be,int32_t)
-PLAY(s32le,int32_t)
-PLAY(s24be,bs2b_int24_t)
-PLAY(s24le,bs2b_int24_t)
-PLAY(s16be,int16_t)
-PLAY(s16le,int16_t)
-PLAY(s8,int8_t)
-PLAY(u8,uint8_t)
-
-/// Sanity check for level value
-static int test_level(void *par)
+PLAY(f, float)
+PLAY(fbe, float)
+PLAY(fle, float)
+PLAY(s32be, int32_t)
+PLAY(u32be, uint32_t)
+PLAY(s32le, int32_t)
+PLAY(u32le, uint32_t)
+PLAY(s24be, bs2b_int24_t)
+PLAY(u24be, bs2b_uint24_t)
+PLAY(s24le, bs2b_int24_t)
+PLAY(u24le, bs2b_uint24_t)
+PLAY(s16be, int16_t)
+PLAY(u16be, uint16_t)
+PLAY(s16le, int16_t)
+PLAY(u16le, uint16_t)
+PLAY(s8, int8_t)
+PLAY(u8, uint8_t)
+
+/// Sanity check for fcut value
+static int test_fcut(void *par)
{
const int val = *(int*)par;
- if (val >= 1 && val <= BS2B_CLEVELS)
+ if (val >= BS2B_MINFCUT && val <= BS2B_MAXFCUT)
return 1;
- mp_msg(MSGT_AFILTER,MSGL_ERR, "[bs2b] Level must be in range 1..%i, but "
- "current value is %i.\n", BS2B_CLEVELS, val);
+ mp_msg(MSGT_AFILTER, MSGL_ERR,
+ "[bs2b] Cut frequency must be in range [%d..%d], but current value is %d.\n",
+ BS2B_MINFCUT, BS2B_MAXFCUT, val);
return 0;
}
-/// Sanity check for profile value
-static int test_profile(void *par)
+/// Sanity check for feed value
+static int test_feed(void *par)
{
const int val = *(int*)par;
- if (val >= 0 && val <= 1)
+ if (val >= BS2B_MINFEED && val <= BS2B_MAXFEED)
return 1;
- mp_msg(MSGT_AFILTER,MSGL_ERR, "[bs2b] Profile must be either 0 or 1, but "
- "current value is %i.\n", val);
+ mp_msg(MSGT_AFILTER, MSGL_ERR,
+ "[bs2b] Feed level must be in range [%d..%d], but current value is %d.\n",
+ BS2B_MINFEED, BS2B_MAXFEED, val);
return 0;
}
@@ -111,21 +121,39 @@ static int control(struct af_instance_s *af, int cmd, void *arg)
case AF_FORMAT_S32_BE:
af->play = play_s32be;
break;
+ case AF_FORMAT_U32_BE:
+ af->play = play_u32be;
+ break;
case AF_FORMAT_S32_LE:
af->play = play_s32le;
break;
+ case AF_FORMAT_U32_LE:
+ af->play = play_u32le;
+ break;
case AF_FORMAT_S24_BE:
af->play = play_s24be;
break;
+ case AF_FORMAT_U24_BE:
+ af->play = play_u24be;
+ break;
case AF_FORMAT_S24_LE:
af->play = play_s24le;
break;
+ case AF_FORMAT_U24_LE:
+ af->play = play_u24le;
+ break;
case AF_FORMAT_S16_BE:
af->play = play_s16be;
break;
+ case AF_FORMAT_U16_BE:
+ af->play = play_u16be;
+ break;
case AF_FORMAT_S16_LE:
af->play = play_s16le;
break;
+ case AF_FORMAT_U16_LE:
+ af->play = play_u16le;
+ break;
case AF_FORMAT_S8:
af->play = play_s8;
break;
@@ -135,30 +163,63 @@ static int control(struct af_instance_s *af, int cmd, void *arg)
default:
af->play = play_f;
af->data->format = AF_FORMAT_FLOAT_NE;
- af->data->bps=4;
+ af->data->bps = 4;
break;
}
+ // bs2b have srate limits, try to resample if needed
+ if (af->data->rate > BS2B_MAXSRATE || af->data->rate < BS2B_MINSRATE) {
+ af->data->rate = BS2B_DEFAULT_SRATE;
+ mp_msg(MSGT_AFILTER, MSGL_WARN,
+ "[bs2b] Requested sample rate %d Hz is out of bounds [%d..%d] Hz.\n"
+ "[bs2b] Trying to resample to %d Hz.\n",
+ af->data->rate, BS2B_MINSRATE, BS2B_MAXSRATE, BS2B_DEFAULT_SRATE);
+ }
bs2b_set_srate(s->filter, (long)af->data->rate);
- mp_msg(MSGT_AFILTER,MSGL_V, "[bs2b] using format %s\n",
+ mp_msg(MSGT_AFILTER, MSGL_V, "[bs2b] using format %s\n",
af_fmt2str(af->data->format,buf,256));
return af_test_output(af,(af_data_t*)arg);
}
case AF_CONTROL_COMMAND_LINE: {
const opt_t subopts[] = {
- {"level", OPT_ARG_INT, &s->level, test_level},
- {"profile", OPT_ARG_INT, &s->profile, test_profile},
+ {"fcut", OPT_ARG_INT, &s->fcut, test_fcut},
+ {"feed", OPT_ARG_INT, &s->feed, test_feed},
+ {"profile", OPT_ARG_MSTRZ, &s->profile, NULL},
{NULL}
};
if (subopt_parse(arg, subopts) != 0) {
- mp_msg(MSGT_AFILTER,MSGL_ERR, "[bs2b] Invalid option specified.\n");
+ mp_msg(MSGT_AFILTER, MSGL_ERR, "[bs2b] Invalid option specified.\n");
+ free(s->profile);
return AF_ERROR;
}
+ // parse profile if specified
+ if (s->profile) {
+ if (!strcmp(s->profile, "default"))
+ bs2b_set_level(s->filter, BS2B_DEFAULT_CLEVEL);
+ else if (!strcmp(s->profile, "cmoy"))
+ bs2b_set_level(s->filter, BS2B_CMOY_CLEVEL);
+ else if (!strcmp(s->profile, "jmeier"))
+ bs2b_set_level(s->filter, BS2B_JMEIER_CLEVEL);
+ else {
+ mp_msg(MSGT_AFILTER, MSGL_ERR,
+ "[bs2b] Invalid profile specified: %s.\n"
+ "[bs2b] Available profiles are: default, cmoy, jmeier.\n",
+ s->profile);
+ free(s->profile);
+ return AF_ERROR;
+ }
+ }
+ // set fcut and feed only if specified, otherwise defaults will be used
+ if (s->fcut)
+ bs2b_set_level_fcut(s->filter, s->fcut);
+ if (s->feed)
+ bs2b_set_level_feed(s->filter, s->feed);
- bs2b_set_level(s->filter, s->level + s->profile ? BS2B_CLEVELS : 0);
- mp_msg(MSGT_AFILTER,MSGL_V, "[bs2b] using profile %i, level %i\n",
- s->profile, s->level);
+ mp_msg(MSGT_AFILTER, MSGL_V,
+ "[bs2b] using cut frequency %d, LF feed level %d\n",
+ bs2b_get_level_fcut(s->filter), bs2b_get_level_feed(s->filter));
+ free(s->profile);
return AF_OK;
}
}
@@ -182,9 +243,9 @@ static int af_open(af_instance_t *af)
af->control = control;
af->uninit = uninit;
af->mul = 1;
- if (!(af->data = calloc(1,sizeof(af_data_t))))
+ if (!(af->data = calloc(1, sizeof(af_data_t))))
return AF_ERROR;
- if (!(af->setup = s = calloc(1,sizeof(struct af_bs2b)))) {
+ if (!(af->setup = s = calloc(1, sizeof(struct af_bs2b)))) {
free(af->data);
return AF_ERROR;
}
@@ -195,9 +256,10 @@ static int af_open(af_instance_t *af)
free(af->setup);
return AF_ERROR;
}
- // Set defaults the same as in the library:
- s->level = 3;
- s->profile = 1;
+ // Set zero defaults indicating no option was specified.
+ s->profile = NULL;
+ s->fcut = 0;
+ s->feed = 0;
return AF_OK;
}
diff --git a/libao2/ao_macosx.c b/libao2/ao_coreaudio.c
index fb5883b3fb..3ef6d3367f 100644
--- a/libao2/ao_macosx.c
+++ b/libao2/ao_coreaudio.c
@@ -1,5 +1,5 @@
/*
- * Mac OS X audio output driver
+ * CoreAudio audio output driver for Mac OS X
*
* original copyright (C) Timothy J. Wood - Aug 2000
* ported to MPlayer libao2 by Dan Christiansen
@@ -52,21 +52,22 @@
#include "audio_out_internal.h"
#include "libaf/af_format.h"
#include "osdep/timer.h"
+#include "libavutil/fifo.h"
static const ao_info_t info =
{
"Darwin/Mac OS X native audio output",
- "macosx",
+ "coreaudio",
"Timothy J. Wood & Dan Christiansen & Chris Roccati",
""
};
-LIBAO_EXTERN(macosx)
+LIBAO_EXTERN(coreaudio)
/* Prefix for all mp_msg() calls */
-#define ao_msg(a, b, c...) mp_msg(a, b, "AO: [macosx] " c)
+#define ao_msg(a, b, c...) mp_msg(a, b, "AO: [coreaudio] " c)
-typedef struct ao_macosx_s
+typedef struct ao_coreaudio_s
{
AudioDeviceID i_selected_dev; /* Keeps DeviceID of the selected device. */
int b_supports_digital; /* Does the currently selected device support digital mode? */
@@ -91,87 +92,35 @@ typedef struct ao_macosx_s
int paused;
/* Ring-buffer */
- /* does not need explicit synchronization, but needs to allocate
- * (num_chunks + 1) * chunk_size memory to store num_chunks * chunk_size
- * data */
- unsigned char *buffer;
- unsigned int buffer_len; ///< must always be (num_chunks + 1) * chunk_size
+ AVFifoBuffer *buffer;
+ unsigned int buffer_len; ///< must always be num_chunks * chunk_size
unsigned int num_chunks;
unsigned int chunk_size;
-
- unsigned int buf_read_pos;
- unsigned int buf_write_pos;
-} ao_macosx_t;
+} ao_coreaudio_t;
-static ao_macosx_t *ao = NULL;
-
-/**
- * \brief return number of free bytes in the buffer
- * may only be called by mplayer's thread
- * \return minimum number of free bytes in buffer, value may change between
- * two immediately following calls, and the real number of free bytes
- * might actually be larger!
- */
-static int buf_free(void) {
- int free = ao->buf_read_pos - ao->buf_write_pos - ao->chunk_size;
- if (free < 0) free += ao->buffer_len;
- return free;
-}
-
-/**
- * \brief return number of buffered bytes
- * may only be called by playback thread
- * \return minimum number of buffered bytes, value may change between
- * two immediately following calls, and the real number of buffered bytes
- * might actually be larger!
- */
-static int buf_used(void) {
- int used = ao->buf_write_pos - ao->buf_read_pos;
- if (used < 0) used += ao->buffer_len;
- return used;
-}
+static ao_coreaudio_t *ao = NULL;
/**
* \brief add data to ringbuffer
*/
static int write_buffer(unsigned char* data, int len){
- int first_len = ao->buffer_len - ao->buf_write_pos;
- int free = buf_free();
+ int free = ao->buffer_len - av_fifo_size(ao->buffer);
if (len > free) len = free;
- if (first_len > len) first_len = len;
- // till end of buffer
- memcpy (&ao->buffer[ao->buf_write_pos], data, first_len);
- if (len > first_len) { // we have to wrap around
- // remaining part from beginning of buffer
- memcpy (ao->buffer, &data[first_len], len - first_len);
- }
- ao->buf_write_pos = (ao->buf_write_pos + len) % ao->buffer_len;
- return len;
+ return av_fifo_generic_write(ao->buffer, data, len, NULL);
}
/**
* \brief remove data from ringbuffer
*/
static int read_buffer(unsigned char* data,int len){
- int first_len = ao->buffer_len - ao->buf_read_pos;
- int buffered = buf_used();
+ int buffered = av_fifo_size(ao->buffer);
if (len > buffered) len = buffered;
- if (first_len > len) first_len = len;
- // till end of buffer
- if (data) {
- memcpy (data, &ao->buffer[ao->buf_read_pos], first_len);
- if (len > first_len) { // we have to wrap around
- // remaining part from beginning of buffer
- memcpy (&data[first_len], ao->buffer, len - first_len);
- }
- }
- ao->buf_read_pos = (ao->buf_read_pos + len) % ao->buffer_len;
- return len;
+ return av_fifo_generic_read(ao->buffer, data, len, NULL);
}
OSStatus theRenderProc(void *inRefCon, AudioUnitRenderActionFlags *inActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumFrames, AudioBufferList *ioData)
{
-int amt=buf_used();
+int amt=av_fifo_size(ao->buffer);
int req=(inNumFrames)*ao->packetSize;
if(amt>req)
@@ -266,7 +215,7 @@ static void print_format(int lev, const char* str, const AudioStreamBasicDescrip
static int AudioDeviceSupportsDigital( AudioDeviceID i_dev_id );
static int AudioStreamSupportsDigital( AudioStreamID i_stream_id );
-static int OpenSPDIF();
+static int OpenSPDIF(void);
static int AudioStreamChangeFormat( AudioStreamID i_stream_id, AudioStreamBasicDescription change_format );
static OSStatus RenderCallbackSPDIF( AudioDeviceID inDevice,
const AudioTimeStamp * inNow,
@@ -299,7 +248,7 @@ int b_alive;
ao_msg(MSGT_AO,MSGL_V, "init([%dHz][%dch][%s][%d])\n", rate, channels, af_fmt2str_short(format), flags);
- ao = calloc(1, sizeof(ao_macosx_t));
+ ao = calloc(1, sizeof(ao_coreaudio_t));
ao->i_selected_dev = 0;
ao->b_supports_digital = 0;
@@ -493,8 +442,8 @@ int b_alive;
ao_data.buffersize = ao_data.bps;
ao->num_chunks = (ao_data.bps+ao->chunk_size-1)/ao->chunk_size;
- ao->buffer_len = (ao->num_chunks + 1) * ao->chunk_size;
- ao->buffer = calloc(ao->num_chunks + 1, ao->chunk_size);
+ ao->buffer_len = ao->num_chunks * ao->chunk_size;
+ ao->buffer = av_fifo_alloc(ao->buffer_len);
ao_msg(MSGT_AO,MSGL_V, "using %5d chunks of %d bytes (buffer len %d bytes)\n", (int)ao->num_chunks, (int)ao->chunk_size, (int)ao->buffer_len);
@@ -515,7 +464,7 @@ err_out2:
err_out1:
CloseComponent(ao->theOutputUnit);
err_out:
- free(ao->buffer);
+ av_fifo_free(ao->buffer);
free(ao);
ao = NULL;
return CONTROL_FALSE;
@@ -524,7 +473,7 @@ err_out:
/*****************************************************************************
* Setup a encoded digital stream (SPDIF)
*****************************************************************************/
-static int OpenSPDIF()
+static int OpenSPDIF(void)
{
OSStatus err = noErr;
UInt32 i_param_size, b_mix = 0;
@@ -737,8 +686,8 @@ static int OpenSPDIF()
ao_data.buffersize = ao_data.bps;
ao->num_chunks = (ao_data.bps+ao->chunk_size-1)/ao->chunk_size;
- ao->buffer_len = (ao->num_chunks + 1) * ao->chunk_size;
- ao->buffer = calloc(ao->num_chunks + 1, ao->chunk_size);
+ ao->buffer_len = ao->num_chunks * ao->chunk_size;
+ ao->buffer = av_fifo_alloc(ao->buffer_len);
ao_msg(MSGT_AO,MSGL_V, "using %5d chunks of %d bytes (buffer len %d bytes)\n", (int)ao->num_chunks, (int)ao->chunk_size, (int)ao->buffer_len);
@@ -782,7 +731,7 @@ err_out:
ao_msg(MSGT_AO, MSGL_WARN, "Could not release hogmode: [%4.4s]\n",
(char *)&err);
}
- free(ao->buffer);
+ av_fifo_free(ao->buffer);
free(ao);
ao = NULL;
return CONTROL_FALSE;
@@ -981,7 +930,7 @@ static OSStatus RenderCallbackSPDIF( AudioDeviceID inDevice,
const AudioTimeStamp * inOutputTime,
void * threadGlobals )
{
- int amt = buf_used();
+ int amt = av_fifo_size(ao->buffer);
int req = outOutputData->mBuffers[ao->i_stream_index].mDataByteSize;
if (amt > req)
@@ -1030,27 +979,22 @@ static int play(void* output_samples,int num_bytes,int flags)
static void reset(void)
{
audio_pause();
- /* reset ring-buffer state */
- ao->buf_read_pos=0;
- ao->buf_write_pos=0;
-
- return;
+ av_fifo_reset(ao->buffer);
}
/* return available space */
static int get_space(void)
{
- return buf_free();
+ return ao->buffer_len - av_fifo_size(ao->buffer);
}
/* return delay until audio is played */
static float get_delay(void)
{
- int buffered = ao->buffer_len - ao->chunk_size - buf_free(); // could be less
// inaccurate, should also contain the data buffered e.g. by the OS
- return (float)(buffered)/(float)ao_data.bps;
+ return (float)av_fifo_size(ao->buffer)/(float)ao_data.bps;
}
@@ -1061,8 +1005,8 @@ static void uninit(int immed)
UInt32 i_param_size = 0;
if (!immed) {
- long long timeleft=(1000000LL*buf_used())/ao_data.bps;
- ao_msg(MSGT_AO,MSGL_DBG2, "%d bytes left @%d bps (%d usec)\n", buf_used(), ao_data.bps, (int)timeleft);
+ long long timeleft=(1000000LL*av_fifo_size(ao->buffer))/ao_data.bps;
+ ao_msg(MSGT_AO,MSGL_DBG2, "%d bytes left @%d bps (%d usec)\n", av_fifo_size(ao->buffer), ao_data.bps, (int)timeleft);
usec_sleep((int)timeleft);
}
@@ -1115,7 +1059,7 @@ static void uninit(int immed)
}
}
- free(ao->buffer);
+ av_fifo_free(ao->buffer);
free(ao);
ao = NULL;
}
diff --git a/libao2/ao_jack.c b/libao2/ao_jack.c
index 494d44aa19..8ee5550602 100644
--- a/libao2/ao_jack.c
+++ b/libao2/ao_jack.c
@@ -82,7 +82,7 @@ static AVFifoBuffer *buffer;
* If there is not enough room, the buffer is filled up
*/
static int write_buffer(unsigned char* data, int len) {
- int free = BUFFSIZE - av_fifo_size(buffer);
+ int free = av_fifo_space(buffer);
if (len > free) len = free;
return av_fifo_generic_write(buffer, data, len, NULL);
}
@@ -337,7 +337,7 @@ static void audio_resume(void) {
}
static int get_space(void) {
- return BUFFSIZE - av_fifo_size(buffer);
+ return av_fifo_space(buffer);
}
/**
diff --git a/libao2/ao_pulse.c b/libao2/ao_pulse.c
index 2d27c85540..b2fdcbb175 100644
--- a/libao2/ao_pulse.c
+++ b/libao2/ao_pulse.c
@@ -102,7 +102,10 @@ static void success_cb(pa_stream *s, int success, void *userdata) {
*/
static int waitop(pa_operation *op) {
pa_operation_state_t state;
- if (!op) return 0;
+ if (!op) {
+ pa_threaded_mainloop_unlock(mainloop);
+ return 0;
+ }
state = pa_operation_get_state(op);
while (state == PA_OPERATION_RUNNING) {
pa_threaded_mainloop_wait(mainloop);
@@ -150,11 +153,11 @@ static int init(int rate_hz, int channels, int format, int flags) {
}
broken_pause = 0;
- // not sure which versions are affected, assume 0.9.1*
+ // not sure which versions are affected, assume 0.9.11* to 0.9.14*
// known bad: 0.9.14, 0.9.13
- // known good: 0.9.9, 0.9.10
+ // known good: 0.9.9, 0.9.10, 0.9.15
// to test: pause, wait ca. 5 seconds framestep and see if MPlayer hangs somewhen
- if (strncmp(version, "0.9.1", 5) == 0 && strncmp(version, "0.9.10", 6) != 0) {
+ if (strncmp(version, "0.9.1", 5) == 0 && version[5] >= '1' && version[5] <= '4') {
mp_msg(MSGT_AO, MSGL_WARN, "[pulse] working around probably broken pause functionality,\n"
" see http://www.pulseaudio.org/ticket/440\n");
broken_pause = 1;
@@ -389,12 +392,16 @@ static int control(int cmd, void *arg) {
volume.values[1] = (pa_volume_t)vol->right*PA_VOLUME_NORM/100;
}
- if (!(o = pa_context_set_sink_input_volume(context, pa_stream_get_index(stream), &volume, NULL, NULL))) {
+ pa_threaded_mainloop_lock(mainloop);
+ o = pa_context_set_sink_input_volume(context, pa_stream_get_index(stream), &volume, NULL, NULL);
+ if (!o) {
+ pa_threaded_mainloop_unlock(mainloop);
GENERIC_ERR_MSG(context, "pa_context_set_sink_input_volume() failed");
return CONTROL_ERROR;
}
/* We don't wait for completion here */
pa_operation_unref(o);
+ pa_threaded_mainloop_unlock(mainloop);
return CONTROL_OK;
}
diff --git a/libao2/ao_sdl.c b/libao2/ao_sdl.c
index 63ddec6f29..df643cb62a 100644
--- a/libao2/ao_sdl.c
+++ b/libao2/ao_sdl.c
@@ -67,7 +67,7 @@ static unsigned char volume=SDL_MIX_MAXVOLUME;
#endif
static int write_buffer(unsigned char* data,int len){
- int free = BUFFSIZE - av_fifo_size(buffer);
+ int free = av_fifo_space(buffer);
if (len > free) len = free;
return av_fifo_generic_write(buffer, data, len, NULL);
}
@@ -280,7 +280,7 @@ static void audio_resume(void)
// return: how many bytes can be played without blocking
static int get_space(void){
- return BUFFSIZE - av_fifo_size(buffer);
+ return av_fifo_space(buffer);
}
// plays 'len' bytes of 'data'
diff --git a/libao2/audio_out.c b/libao2/audio_out.c
index 8c64abbb95..fe95ab192f 100644
--- a/libao2/audio_out.c
+++ b/libao2/audio_out.c
@@ -31,7 +31,7 @@ ao_data_t ao_data={0,0,0,0,OUTBURST,-1,0};
char *ao_subdevice = NULL;
extern const ao_functions_t audio_out_oss;
-extern const ao_functions_t audio_out_macosx;
+extern const ao_functions_t audio_out_coreaudio;
extern const ao_functions_t audio_out_arts;
extern const ao_functions_t audio_out_esd;
extern const ao_functions_t audio_out_pulse;
@@ -67,7 +67,7 @@ const ao_functions_t* const audio_out_drivers[] =
&audio_out_dart,
#endif
#ifdef CONFIG_COREAUDIO
- &audio_out_macosx,
+ &audio_out_coreaudio,
#endif
#ifdef CONFIG_OSS_AUDIO
&audio_out_oss,
diff --git a/libass/ass_render.c b/libass/ass_render.c
index fd3a122e9b..9f1686fa96 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -1606,7 +1606,7 @@ static void wrap_lines_smart(int max_text_width)
mp_msg(MSGT_ASS, MSGL_DBG2, "forced line break at %d\n", break_at);
}
- if (len >= max_text_width) {
+ if ((len >= max_text_width) && (frame_context.track->WrapStyle != 2)) {
break_type = 1;
break_at = last_space;
if (break_at == -1)
diff --git a/libmpcodecs/ad_ffmpeg.c b/libmpcodecs/ad_ffmpeg.c
index 7ecbb20cb3..a07e88fd70 100644
--- a/libmpcodecs/ad_ffmpeg.c
+++ b/libmpcodecs/ad_ffmpeg.c
@@ -175,7 +175,8 @@ static int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int m
if (((AVCodecContext *)sh_audio->context)->channels >= 5) {
int src_ch_layout = AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT;
const char *codec=((AVCodecContext*)sh_audio->context)->codec->name;
- if (!strcasecmp(codec, "ac3"))
+ if (!strcasecmp(codec, "ac3")
+ || !strcasecmp(codec, "eac3"))
src_ch_layout = AF_CHANNEL_LAYOUT_LAVC_AC3_DEFAULT;
else if (!strcasecmp(codec, "dca"))
src_ch_layout = AF_CHANNEL_LAYOUT_LAVC_DCA_DEFAULT;
diff --git a/libmpcodecs/ad_qtaudio.c b/libmpcodecs/ad_qtaudio.c
index 2fa71c6548..6feeee25b3 100644
--- a/libmpcodecs/ad_qtaudio.c
+++ b/libmpcodecs/ad_qtaudio.c
@@ -81,7 +81,7 @@ HMODULE WINAPI LoadLibraryA(LPCSTR);
FARPROC WINAPI GetProcAddress(HMODULE,LPCSTR);
int WINAPI FreeLibrary(HMODULE);
-static int loader_init()
+static int loader_init(void)
{
#ifdef WIN32_LOADER
diff --git a/libmpcodecs/dec_audio.c b/libmpcodecs/dec_audio.c
index a15640c552..d73b381906 100644
--- a/libmpcodecs/dec_audio.c
+++ b/libmpcodecs/dec_audio.c
@@ -270,7 +270,6 @@ int init_best_audio_codec(sh_audio_t *sh_audio, char **audio_codec_list,
if (!sh_audio->initialized) {
mp_msg(MSGT_DECAUDIO, MSGL_ERR, MSGTR_CantFindAudioCodec,
sh_audio->format);
- mp_msg(MSGT_DECAUDIO, MSGL_HINT, MSGTR_RTFMCodecs);
return 0; // failed
}
diff --git a/libmpcodecs/dec_video.c b/libmpcodecs/dec_video.c
index 95297b2117..ce85c28460 100644
--- a/libmpcodecs/dec_video.c
+++ b/libmpcodecs/dec_video.c
@@ -364,7 +364,6 @@ int init_best_video_codec(sh_video_t *sh_video, char **video_codec_list,
if (!sh_video->initialized) {
mp_msg(MSGT_DECVIDEO, MSGL_ERR, MSGTR_CantFindVideoCodec,
sh_video->format);
- mp_msg(MSGT_DECAUDIO, MSGL_HINT, MSGTR_RTFMCodecs);
return 0; // failed
}
diff --git a/libmpcodecs/vf_divtc.c b/libmpcodecs/vf_divtc.c
index baaeb3ef57..b9326e6d8a 100644
--- a/libmpcodecs/vf_divtc.c
+++ b/libmpcodecs/vf_divtc.c
@@ -128,7 +128,7 @@ static unsigned int checksum_plane(unsigned char *p, unsigned char *z,
unsigned int shift;
uint32_t sum, t;
unsigned char *e, *e2;
-#if __WORDSIZE==64
+#if HAVE_FAST_64BIT
typedef uint64_t wsum_t;
#else
typedef uint32_t wsum_t;
@@ -143,7 +143,7 @@ static unsigned int checksum_plane(unsigned char *p, unsigned char *z,
for(wsum=0, e2=e-sizeof(wsum_t)+1; p<e2; p+=sizeof(wsum_t))
wsum^=*(wsum_t *)p;
-#if __WORDSIZE==64
+#if HAVE_FAST_64BIT
t=be2me_32((uint32_t)(wsum>>32^wsum));
#else
t=be2me_32(wsum);
diff --git a/libmpcodecs/vf_sab.c b/libmpcodecs/vf_sab.c
index 5a0ce4e48f..be1b8db515 100644
--- a/libmpcodecs/vf_sab.c
+++ b/libmpcodecs/vf_sab.c
@@ -102,7 +102,7 @@ static int allocStuff(FilterParam *f, int width, int height){
swsF.lumH= swsF.lumV= vec;
swsF.chrH= swsF.chrV= NULL;
f->preFilterContext= sws_getContext(
- width, height, PIX_FMT_GRAY8, width, height, PIX_FMT_GRAY8, get_sws_cpuflags(), &swsF, NULL, NULL);
+ width, height, PIX_FMT_GRAY8, width, height, PIX_FMT_GRAY8, get_sws_cpuflags()|SWS_POINT, &swsF, NULL, NULL);
sws_freeVec(vec);
vec = sws_getGaussianVec(f->strength, 5.0);
diff --git a/libmpcodecs/vf_zrmjpeg.c b/libmpcodecs/vf_zrmjpeg.c
index 32b4f9b7bc..48b954ea80 100644
--- a/libmpcodecs/vf_zrmjpeg.c
+++ b/libmpcodecs/vf_zrmjpeg.c
@@ -620,7 +620,7 @@ static int jpeg_enc_frame(jpeg_enc_t *j, uint8_t *y_data,
//if (j->s->mjpeg_write_tables == 1)
// j->s->mjpeg_write_tables = 0;
- return pbBufPtr(&(j->s->pb)) - j->s->pb.buf;
+ return put_bits_ptr(&(j->s->pb)) - j->s->pb.buf;
}
/// the real uninit routine
diff --git a/libmpcodecs/vqf.h b/libmpcodecs/vqf.h
index 85691f5568..118f7ea06f 100644
--- a/libmpcodecs/vqf.h
+++ b/libmpcodecs/vqf.h
@@ -193,7 +193,7 @@ typedef struct {
//DllPort int TvqInitialize( headerInfo *setupInfo, INDEX *index, int dispErrorMessageBox );
//DllPort void TvqTerminate( INDEX *index );
//DllPort void TvqGetVectorInfo(int *bits0[], int *bits1[]);
-//DllPort void TvqResetFrameCounter();
+//DllPort void TvqResetFrameCounter(void);
// TwinVQ decoder function
//DllPort void TvqDecodeFrame(INDEX *indexp, float out[]);
@@ -205,19 +205,19 @@ typedef struct {
//DllPort int TvqCheckVersion(char *versionID);
//DllPort void TvqGetSetupInfo(headerInfo *setupInfo); // setup information
//DllPort void TvqGetConfInfo(tvqConfInfo *cf); // configuration information
-//DllPort int TvqGetFrameSize(); // frame size
-//DllPort int TvqGetNumChannels(); // number of channels
-//DllPort int TvqGetBitRate(); // total bitrate
-//DllPort float TvqGetSamplingRate(); // sampling rate
-//DllPort int TvqGetNumFixedBitsPerFrame(); // number of fixed bits per frame
-//DllPort int TvqGetNumFrames(); // number of decoded frame
+//DllPort int TvqGetFrameSize(void); // frame size
+//DllPort int TvqGetNumChannels(void); // number of channels
+//DllPort int TvqGetBitRate(void); // total bitrate
+//DllPort float TvqGetSamplingRate(void); // sampling rate
+//DllPort int TvqGetNumFixedBitsPerFrame(void); // number of fixed bits per frame
+//DllPort int TvqGetNumFrames(void); // number of decoded frame
//DllPort int TvqGetModuleVersion( char* versionString );
#ifdef V2PLUS_SUPPORT
// TwinVQ FB coding tool control
DllPort void TvqFbCountUsedBits(int nbit); // count number of used bits
-DllPort float TvqGetFbCurrentBitrate(); // query average bitrate for the tool
-DllPort int TvqGetFbTotalBits(); // query total number of used bits
+DllPort float TvqGetFbCurrentBitrate(void); // query average bitrate for the tool
+DllPort int TvqGetFbTotalBits(void); // query total number of used bits
#endif
#ifdef __cplusplus
diff --git a/libmpdemux/extension.c b/libmpdemux/extension.c
index 88cc17f3a7..3c0ad66cf7 100644
--- a/libmpdemux/extension.c
+++ b/libmpdemux/extension.c
@@ -21,9 +21,9 @@ static struct {
{ "vob", DEMUXER_TYPE_MPEG_PS },
{ "m2v", DEMUXER_TYPE_MPEG_PS },
{ "avi", DEMUXER_TYPE_AVI },
- { "mp4", DEMUXER_TYPE_MOV },
- { "mov", DEMUXER_TYPE_MOV },
- { "qt", DEMUXER_TYPE_MOV },
+ { "mp4", DEMUXER_TYPE_LAVF },
+ { "mov", DEMUXER_TYPE_LAVF },
+ { "qt", DEMUXER_TYPE_LAVF },
{ "asx", DEMUXER_TYPE_ASF },
{ "asf", DEMUXER_TYPE_ASF },
{ "wmv", DEMUXER_TYPE_ASF },
diff --git a/libmpdemux/muxer_mpeg.c b/libmpdemux/muxer_mpeg.c
index a4504caa99..c93c818e21 100644
--- a/libmpdemux/muxer_mpeg.c
+++ b/libmpdemux/muxer_mpeg.c
@@ -214,6 +214,8 @@ m_option_t mpegopts_conf[] = {
{NULL, NULL, 0, 0, 0, 0, NULL}
};
+int mp_a52_framesize(uint8_t *buf, int *srate);
+
static void fix_audio_sys_header(muxer_priv_t *priv, uint8_t id, uint8_t newid, uint32_t size)
{
uint8_t i;
diff --git a/libswscale/Makefile b/libswscale/Makefile
index ce0f7cebc1..247ae8d239 100644
--- a/libswscale/Makefile
+++ b/libswscale/Makefile
@@ -5,7 +5,7 @@ FFLIBS = avutil
HEADERS = swscale.h
-OBJS = rgb2rgb.o swscale.o swscale_avoption.o yuv2rgb.o
+OBJS = options.o rgb2rgb.o swscale.o yuv2rgb.o
OBJS-$(ARCH_BFIN) += bfin/internal_bfin.o \
bfin/swscale_bfin.o \
@@ -16,8 +16,6 @@ OBJS-$(HAVE_VIS) += sparc/yuv2rgb_vis.o
MMX-OBJS-$(CONFIG_GPL) += x86/yuv2rgb_mmx.o \
-OBJS-$(HAVE_MMX) += $(MMX-OBJS-yes)
-
EXAMPLES = swscale
TESTPROGS = colorspace
diff --git a/libswscale/swscale_avoption.c b/libswscale/options.c
index 996843df1d..996843df1d 100644
--- a/libswscale/swscale_avoption.c
+++ b/libswscale/options.c
diff --git a/libswscale/rgb2rgb_template.c b/libswscale/rgb2rgb_template.c
index 09a57cab81..56c9426430 100644
--- a/libswscale/rgb2rgb_template.c
+++ b/libswscale/rgb2rgb_template.c
@@ -323,8 +323,6 @@ static inline void RENAME(rgb16to15)(const uint8_t *src, uint8_t *dst, long src_
{
register uint16_t x= *((const uint16_t*)s);
*((uint16_t *)d) = ((x>>1)&0x7FE0) | (x&0x001F);
- s+=2;
- d+=2;
}
}
diff --git a/libswscale/swscale.c b/libswscale/swscale.c
index ca5e2d986f..a0954ad845 100644
--- a/libswscale/swscale.c
+++ b/libswscale/swscale.c
@@ -134,6 +134,12 @@ unsigned swscale_version(void)
|| (x)==PIX_FMT_YUV440P \
|| (x)==PIX_FMT_MONOWHITE \
|| (x)==PIX_FMT_MONOBLACK \
+ || (x)==PIX_FMT_YUV420PLE \
+ || (x)==PIX_FMT_YUV422PLE \
+ || (x)==PIX_FMT_YUV444PLE \
+ || (x)==PIX_FMT_YUV420PBE \
+ || (x)==PIX_FMT_YUV422PBE \
+ || (x)==PIX_FMT_YUV444PBE \
)
#define isSupportedOut(x) ( \
(x)==PIX_FMT_YUV420P \
@@ -152,6 +158,12 @@ unsigned swscale_version(void)
|| (x)==PIX_FMT_GRAY8 \
|| (x)==PIX_FMT_YUV410P \
|| (x)==PIX_FMT_YUV440P \
+ || (x)==PIX_FMT_YUV420PLE \
+ || (x)==PIX_FMT_YUV422PLE \
+ || (x)==PIX_FMT_YUV444PLE \
+ || (x)==PIX_FMT_YUV420PBE \
+ || (x)==PIX_FMT_YUV422PBE \
+ || (x)==PIX_FMT_YUV444PBE \
)
#define isPacked(x) ( \
(x)==PIX_FMT_PAL8 \
@@ -467,6 +479,18 @@ const char *sws_format_name(enum PixelFormat format)
return "vdpau_wmv3";
case PIX_FMT_VDPAU_VC1:
return "vdpau_vc1";
+ case PIX_FMT_YUV420PLE:
+ return "yuv420ple";
+ case PIX_FMT_YUV422PLE:
+ return "yuv422ple";
+ case PIX_FMT_YUV444PLE:
+ return "yuv444ple";
+ case PIX_FMT_YUV420PBE:
+ return "yuv420pbe";
+ case PIX_FMT_YUV422PBE:
+ return "yuv422pbe";
+ case PIX_FMT_YUV444PBE:
+ return "yuv444pbe";
default:
return "Unknown format";
}
@@ -2084,11 +2108,15 @@ static int yvu9toyv12Wrapper(SwsContext *c, uint8_t* src[], int srcStride[], int
}
if (c->dstFormat==PIX_FMT_YUV420P || c->dstFormat==PIX_FMT_YUVA420P){
- planar2x(src[1], dst[1], c->chrSrcW, c->chrSrcH, srcStride[1], dstStride[1]);
- planar2x(src[2], dst[2], c->chrSrcW, c->chrSrcH, srcStride[2], dstStride[2]);
+ planar2x(src[1], dst[1] + dstStride[1]*(srcSliceY >> 1), c->chrSrcW,
+ srcSliceH >> 2, srcStride[1], dstStride[1]);
+ planar2x(src[2], dst[2] + dstStride[2]*(srcSliceY >> 1), c->chrSrcW,
+ srcSliceH >> 2, srcStride[2], dstStride[2]);
}else{
- planar2x(src[1], dst[2], c->chrSrcW, c->chrSrcH, srcStride[1], dstStride[2]);
- planar2x(src[2], dst[1], c->chrSrcW, c->chrSrcH, srcStride[2], dstStride[1]);
+ planar2x(src[1], dst[2] + dstStride[2]*(srcSliceY >> 1), c->chrSrcW,
+ srcSliceH >> 2, srcStride[1], dstStride[2]);
+ planar2x(src[2], dst[1] + dstStride[1]*(srcSliceY >> 1), c->chrSrcW,
+ srcSliceH >> 2, srcStride[2], dstStride[1]);
}
if (dst[3])
fillPlane(dst[3], dstStride[3], c->srcW, srcSliceH, srcSliceY, 255);
@@ -2126,27 +2154,55 @@ static int packedCopy(SwsContext *c, uint8_t* src[], int srcStride[], int srcSli
static int planarCopy(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
int srcSliceH, uint8_t* dst[], int dstStride[])
{
- int plane;
+ int plane, i, j;
for (plane=0; plane<4; plane++)
{
int length= (plane==0 || plane==3) ? c->srcW : -((-c->srcW )>>c->chrDstHSubSample);
int y= (plane==0 || plane==3) ? srcSliceY: -((-srcSliceY)>>c->chrDstVSubSample);
int height= (plane==0 || plane==3) ? srcSliceH: -((-srcSliceH)>>c->chrDstVSubSample);
+ uint8_t *srcPtr= src[plane];
+ uint8_t *dstPtr= dst[plane] + dstStride[plane]*y;
if (!dst[plane]) continue;
// ignore palette for GRAY8
if (plane == 1 && !dst[2]) continue;
- if (!src[plane] || (plane == 1 && !src[2]))
+ if (!src[plane] || (plane == 1 && !src[2])){
+ if(is16BPS(c->dstFormat))
+ length*=2;
fillPlane(dst[plane], dstStride[plane], length, height, y, (plane==3) ? 255 : 128);
- else
+ }else
{
- if (dstStride[plane]==srcStride[plane] && srcStride[plane] > 0)
+ if(is16BPS(c->srcFormat) && !is16BPS(c->dstFormat)){
+ if (!isBE(c->srcFormat)) srcPtr++;
+ for (i=0; i<height; i++){
+ for (j=0; j<length; j++) dstPtr[j] = srcPtr[j<<1];
+ srcPtr+= srcStride[plane];
+ dstPtr+= dstStride[plane];
+ }
+ }else if(!is16BPS(c->srcFormat) && is16BPS(c->dstFormat)){
+ for (i=0; i<height; i++){
+ for (j=0; j<length; j++){
+ dstPtr[ j<<1 ] = srcPtr[j];
+ dstPtr[(j<<1)+1] = srcPtr[j];
+ }
+ srcPtr+= srcStride[plane];
+ dstPtr+= dstStride[plane];
+ }
+ }else if(is16BPS(c->srcFormat) && is16BPS(c->dstFormat)
+ && isBE(c->srcFormat) != isBE(c->dstFormat)){
+
+ for (i=0; i<height; i++){
+ for (j=0; j<length; j++)
+ ((uint16_t*)dstPtr)[j] = bswap_16(((uint16_t*)srcPtr)[j]);
+ srcPtr+= srcStride[plane];
+ dstPtr+= dstStride[plane];
+ }
+ } else if (dstStride[plane]==srcStride[plane] && srcStride[plane] > 0)
memcpy(dst[plane] + dstStride[plane]*y, src[plane], height*dstStride[plane]);
else
{
- int i;
- uint8_t *srcPtr= src[plane];
- uint8_t *dstPtr= dst[plane] + dstStride[plane]*y;
+ if(is16BPS(c->srcFormat) && is16BPS(c->dstFormat))
+ length*=2;
for (i=0; i<height; i++)
{
memcpy(dstPtr, srcPtr, length);
@@ -2159,73 +2215,6 @@ static int planarCopy(SwsContext *c, uint8_t* src[], int srcStride[], int srcSli
return srcSliceH;
}
-static int gray16togray(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
- int srcSliceH, uint8_t* dst[], int dstStride[]){
-
- int length= c->srcW;
- int y= srcSliceY;
- int height= srcSliceH;
- int i, j;
- uint8_t *srcPtr= src[0];
- uint8_t *dstPtr= dst[0] + dstStride[0]*y;
-
- if (!isGray(c->dstFormat)){
- int height= -((-srcSliceH)>>c->chrDstVSubSample);
- memset(dst[1], 128, dstStride[1]*height);
- memset(dst[2], 128, dstStride[2]*height);
- }
- if (c->srcFormat == PIX_FMT_GRAY16LE) srcPtr++;
- for (i=0; i<height; i++)
- {
- for (j=0; j<length; j++) dstPtr[j] = srcPtr[j<<1];
- srcPtr+= srcStride[0];
- dstPtr+= dstStride[0];
- }
- if (dst[3])
- fillPlane(dst[3], dstStride[3], length, height, y, 255);
- return srcSliceH;
-}
-
-static int graytogray16(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
- int srcSliceH, uint8_t* dst[], int dstStride[]){
-
- int length= c->srcW;
- int y= srcSliceY;
- int height= srcSliceH;
- int i, j;
- uint8_t *srcPtr= src[0];
- uint8_t *dstPtr= dst[0] + dstStride[0]*y;
- for (i=0; i<height; i++)
- {
- for (j=0; j<length; j++)
- {
- dstPtr[j<<1] = srcPtr[j];
- dstPtr[(j<<1)+1] = srcPtr[j];
- }
- srcPtr+= srcStride[0];
- dstPtr+= dstStride[0];
- }
- return srcSliceH;
-}
-
-static int gray16swap(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
- int srcSliceH, uint8_t* dst[], int dstStride[]){
-
- int length= c->srcW;
- int y= srcSliceY;
- int height= srcSliceH;
- int i, j;
- uint16_t *srcPtr= (uint16_t*)src[0];
- uint16_t *dstPtr= (uint16_t*)(dst[0] + dstStride[0]*y/2);
- for (i=0; i<height; i++)
- {
- for (j=0; j<length; j++) dstPtr[j] = bswap_16(srcPtr[j]);
- srcPtr+= srcStride[0]/2;
- dstPtr+= dstStride[0]/2;
- }
- return srcSliceH;
-}
-
static void getSubSampleFactors(int *h, int *v, int format){
switch(format){
@@ -2235,6 +2224,8 @@ static void getSubSampleFactors(int *h, int *v, int format){
*v=0;
break;
case PIX_FMT_YUV420P:
+ case PIX_FMT_YUV420PLE:
+ case PIX_FMT_YUV420PBE:
case PIX_FMT_YUVA420P:
case PIX_FMT_GRAY16BE:
case PIX_FMT_GRAY16LE:
@@ -2253,10 +2244,14 @@ static void getSubSampleFactors(int *h, int *v, int format){
*v=2;
break;
case PIX_FMT_YUV444P:
+ case PIX_FMT_YUV444PLE:
+ case PIX_FMT_YUV444PBE:
*h=0;
*v=0;
break;
case PIX_FMT_YUV422P:
+ case PIX_FMT_YUV422PLE:
+ case PIX_FMT_YUV422PBE:
*h=1;
*v=0;
break;
@@ -2278,11 +2273,6 @@ static uint16_t roundToInt16(int64_t f){
else return r;
}
-/**
- * @param inv_table the yuv2rgb coefficients, normally ff_yuv2rgb_coeffs[x]
- * @param fullRange if 1 then the luma range is 0..255 if 0 it is 16..235
- * @return -1 if not supported
- */
int sws_setColorspaceDetails(SwsContext *c, const int inv_table[4], int srcRange, const int table[4], int dstRange, int brightness, int contrast, int saturation){
int64_t crv = inv_table[0];
int64_t cbu = inv_table[1];
@@ -2299,7 +2289,7 @@ int sws_setColorspaceDetails(SwsContext *c, const int inv_table[4], int srcRange
c->saturation= saturation;
c->srcRange = srcRange;
c->dstRange = dstRange;
- if (isYUV(c->dstFormat) || isGray(c->dstFormat)) return 0;
+ if (isYUV(c->dstFormat) || isGray(c->dstFormat)) return -1;
c->uOffset= 0x0400040004000400LL;
c->vOffset= 0x0400040004000400LL;
@@ -2346,9 +2336,6 @@ int sws_setColorspaceDetails(SwsContext *c, const int inv_table[4], int srcRange
return 0;
}
-/**
- * @return -1 if not supported
- */
int sws_getColorspaceDetails(SwsContext *c, int **inv_table, int *srcRange, int **table, int *dstRange, int *brightness, int *contrast, int *saturation){
if (isYUV(c->dstFormat) || isGray(c->dstFormat)) return -1;
@@ -2620,28 +2607,17 @@ SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat, int d
|| (srcFormat == PIX_FMT_YUVA420P && dstFormat == PIX_FMT_YUV420P)
|| (srcFormat == PIX_FMT_YUV420P && dstFormat == PIX_FMT_YUVA420P)
|| (isPlanarYUV(srcFormat) && isGray(dstFormat))
- || (isPlanarYUV(dstFormat) && isGray(srcFormat)))
+ || (isPlanarYUV(dstFormat) && isGray(srcFormat))
+ || (isGray(dstFormat) && isGray(srcFormat))
+ || (isPlanarYUV(srcFormat) && isPlanarYUV(dstFormat)
+ && c->chrDstHSubSample == c->chrSrcHSubSample
+ && c->chrDstVSubSample == c->chrSrcVSubSample))
{
if (isPacked(c->srcFormat))
c->swScale= packedCopy;
else /* Planar YUV or gray */
c->swScale= planarCopy;
}
-
- /* gray16{le,be} conversions */
- if (isGray16(srcFormat) && (isPlanarYUV(dstFormat) || (dstFormat == PIX_FMT_GRAY8)))
- {
- c->swScale= gray16togray;
- }
- if ((isPlanarYUV(srcFormat) || (srcFormat == PIX_FMT_GRAY8)) && isGray16(dstFormat))
- {
- c->swScale= graytogray16;
- }
- if (srcFormat != dstFormat && isGray16(srcFormat) && isGray16(dstFormat))
- {
- c->swScale= gray16swap;
- }
-
#if ARCH_BFIN
if (flags & SWS_CPU_CAPS_BFIN)
ff_bfin_get_unscaled_swscale (c);
@@ -2939,6 +2915,21 @@ SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat, int d
return c;
}
+static void reset_ptr(uint8_t* src[], int format){
+ if(!isALPHA(format))
+ src[3]=NULL;
+ if(!isPlanarYUV(format)){
+ src[3]=src[2]=NULL;
+ if( format != PIX_FMT_PAL8
+ && format != PIX_FMT_RGB8
+ && format != PIX_FMT_BGR8
+ && format != PIX_FMT_RGB4_BYTE
+ && format != PIX_FMT_BGR4_BYTE
+ )
+ src[1]= NULL;
+ }
+}
+
/**
* swscale wrapper, so we don't need to export the SwsContext.
* Assumes planar YUV to be in YUV order instead of YVU.
@@ -2947,6 +2938,7 @@ int sws_scale(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
int srcSliceH, uint8_t* dst[], int dstStride[]){
int i;
uint8_t* src2[4]= {src[0], src[1], src[2], src[3]};
+ uint8_t* dst2[4]= {dst[0], dst[1], dst[2], dst[3]};
if (c->sliceDir == 0 && srcSliceY != 0 && srcSliceY + srcSliceH != c->srcH) {
av_log(c, AV_LOG_ERROR, "Slices start in the middle!\n");
@@ -3022,13 +3014,13 @@ int sws_scale(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
// slices go from top to bottom
int srcStride2[4]= {srcStride[0], srcStride[1], srcStride[2], srcStride[3]};
int dstStride2[4]= {dstStride[0], dstStride[1], dstStride[2], dstStride[3]};
- return c->swScale(c, src2, srcStride2, srcSliceY, srcSliceH, dst, dstStride2);
+
+ reset_ptr(src2, c->srcFormat);
+ reset_ptr(dst2, c->dstFormat);
+
+ return c->swScale(c, src2, srcStride2, srcSliceY, srcSliceH, dst2, dstStride2);
} else {
// slices go from bottom to top => we flip the image internally
- uint8_t* dst2[4]= {dst[0] + (c->dstH-1)*dstStride[0],
- dst[1] + ((c->dstH>>c->chrDstVSubSample)-1)*dstStride[1],
- dst[2] + ((c->dstH>>c->chrDstVSubSample)-1)*dstStride[2],
- dst[3] + (c->dstH-1)*dstStride[3]};
int srcStride2[4]= {-srcStride[0], -srcStride[1], -srcStride[2], -srcStride[3]};
int dstStride2[4]= {-dstStride[0], -dstStride[1], -dstStride[2], -dstStride[3]};
@@ -3037,6 +3029,13 @@ int sws_scale(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
src2[1] += ((srcSliceH>>c->chrSrcVSubSample)-1)*srcStride[1];
src2[2] += ((srcSliceH>>c->chrSrcVSubSample)-1)*srcStride[2];
src2[3] += (srcSliceH-1)*srcStride[3];
+ dst2[0] += ( c->dstH -1)*dstStride[0];
+ dst2[1] += ((c->dstH>>c->chrDstVSubSample)-1)*dstStride[1];
+ dst2[2] += ((c->dstH>>c->chrDstVSubSample)-1)*dstStride[2];
+ dst2[3] += ( c->dstH -1)*dstStride[3];
+
+ reset_ptr(src2, c->srcFormat);
+ reset_ptr(dst2, c->dstFormat);
return c->swScale(c, src2, srcStride2, c->srcH-srcSliceY-srcSliceH, srcSliceH, dst2, dstStride2);
}
diff --git a/libswscale/swscale.h b/libswscale/swscale.h
index 6efd90fcda..4990ebf134 100644
--- a/libswscale/swscale.h
+++ b/libswscale/swscale.h
@@ -127,8 +127,10 @@ void sws_freeContext(struct SwsContext *swsContext);
* @param flags specify which algorithm and options to use for rescaling
* @return a pointer to an allocated context, or NULL in case of error
*/
-struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat, int dstW, int dstH, enum PixelFormat dstFormat, int flags,
- SwsFilter *srcFilter, SwsFilter *dstFilter, double *param);
+struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat,
+ int dstW, int dstH, enum PixelFormat dstFormat,
+ int flags, SwsFilter *srcFilter,
+ SwsFilter *dstFilter, double *param);
/**
* Scales the image slice in \p srcSlice and puts the resulting scaled
@@ -152,19 +154,32 @@ struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat
* the destination image
* @return the height of the output slice
*/
-int sws_scale(struct SwsContext *context, uint8_t* srcSlice[], int srcStride[], int srcSliceY,
- int srcSliceH, uint8_t* dst[], int dstStride[]);
+int sws_scale(struct SwsContext *context, uint8_t* srcSlice[], int srcStride[],
+ int srcSliceY, int srcSliceH, uint8_t* dst[], int dstStride[]);
#if LIBSWSCALE_VERSION_MAJOR < 1
/**
* @deprecated Use sws_scale() instead.
*/
-int sws_scale_ordered(struct SwsContext *context, uint8_t* src[], int srcStride[], int srcSliceY,
- int srcSliceH, uint8_t* dst[], int dstStride[]) attribute_deprecated;
+int sws_scale_ordered(struct SwsContext *context, uint8_t* src[],
+ int srcStride[], int srcSliceY, int srcSliceH,
+ uint8_t* dst[], int dstStride[]) attribute_deprecated;
#endif
+/**
+ * @param inv_table the yuv2rgb coefficients, normally ff_yuv2rgb_coeffs[x]
+ * @param fullRange if 1 then the luma range is 0..255 if 0 it is 16..235
+ * @return -1 if not supported
+ */
+int sws_setColorspaceDetails(struct SwsContext *c, const int inv_table[4],
+ int srcRange, const int table[4], int dstRange,
+ int brightness, int contrast, int saturation);
-int sws_setColorspaceDetails(struct SwsContext *c, const int inv_table[4], int srcRange, const int table[4], int dstRange, int brightness, int contrast, int saturation);
-int sws_getColorspaceDetails(struct SwsContext *c, int **inv_table, int *srcRange, int **table, int *dstRange, int *brightness, int *contrast, int *saturation);
+/**
+ * @return -1 if not supported
+ */
+int sws_getColorspaceDetails(struct SwsContext *c, int **inv_table,
+ int *srcRange, int **table, int *dstRange,
+ int *brightness, int *contrast, int *saturation);
/**
* Returns a normalized Gaussian curve used to filter stuff
@@ -241,7 +256,8 @@ void sws_freeFilter(SwsFilter *filter);
*/
struct SwsContext *sws_getCachedContext(struct SwsContext *context,
int srcW, int srcH, enum PixelFormat srcFormat,
- int dstW, int dstH, enum PixelFormat dstFormat, int flags,
- SwsFilter *srcFilter, SwsFilter *dstFilter, double *param);
+ int dstW, int dstH, enum PixelFormat dstFormat,
+ int flags, SwsFilter *srcFilter,
+ SwsFilter *dstFilter, double *param);
#endif /* SWSCALE_SWSCALE_H */
diff --git a/libswscale/swscale_internal.h b/libswscale/swscale_internal.h
index 070161900b..eb11166e25 100644
--- a/libswscale/swscale_internal.h
+++ b/libswscale/swscale_internal.h
@@ -33,7 +33,12 @@
#define MAX_FILTER_SIZE 256
-#define VOFW 2048
+#if ARCH_X86
+#define VOFW 5120
+#else
+#define VOFW 2048 // faster on PPC and not tested on others
+#endif
+
#define VOF (VOFW*2)
#ifdef WORDS_BIGENDIAN
@@ -54,8 +59,9 @@
struct SwsContext;
-typedef int (*SwsFunc)(struct SwsContext *context, uint8_t* src[], int srcStride[], int srcSliceY,
- int srcSliceH, uint8_t* dst[], int dstStride[]);
+typedef int (*SwsFunc)(struct SwsContext *context, uint8_t* src[],
+ int srcStride[], int srcSliceY, int srcSliceH,
+ uint8_t* dst[], int dstStride[]);
/* This struct should be aligned on at least a 32-byte boundary. */
typedef struct SwsContext{
@@ -183,7 +189,6 @@ typedef struct SwsContext{
int32_t alpMmxFilter[4*MAX_FILTER_SIZE];
#if HAVE_ALTIVEC
-
vector signed short CY;
vector signed short CRV;
vector signed short CBU;
@@ -192,10 +197,8 @@ typedef struct SwsContext{
vector signed short OY;
vector unsigned short CSHIFT;
vector signed short *vYCoeffsBank, *vCCoeffsBank;
-
#endif
-
#if ARCH_BFIN
uint32_t oy __attribute__((aligned(4)));
uint32_t oc __attribute__((aligned(4)));
@@ -252,6 +255,8 @@ typedef struct SwsContext{
void (*hyscale_internal)(uint8_t *dst, const uint8_t *src,
long width, uint32_t *pal);
+ void (*hascale_internal)(uint8_t *dst, const uint8_t *src,
+ long width, uint32_t *pal);
void (*hcscale_internal)(uint8_t *dstU, uint8_t *dstV,
const uint8_t *src1, const uint8_t *src2,
long width, uint32_t *pal);
@@ -260,18 +265,23 @@ typedef struct SwsContext{
const uint8_t *src, int srcW, int xInc);
void (*hcscale_fast)(struct SwsContext *c,
int16_t *dst, int dstWidth,
- const uint8_t *src1, const uint8_t *src2, int srcW, int xInc);
+ const uint8_t *src1, const uint8_t *src2,
+ int srcW, int xInc);
void (*hScale)(int16_t *dst, int dstW, const uint8_t *src, int srcW,
- int xInc, const int16_t *filter, const int16_t *filterPos, long filterSize);
+ int xInc, const int16_t *filter, const int16_t *filterPos,
+ long filterSize);
} SwsContext;
//FIXME check init (where 0)
SwsFunc ff_yuv2rgb_get_func_ptr(SwsContext *c);
-int ff_yuv2rgb_c_init_tables(SwsContext *c, const int inv_table[4], int fullRange, int brightness, int contrast, int saturation);
+int ff_yuv2rgb_c_init_tables(SwsContext *c, const int inv_table[4],
+ int fullRange, int brightness,
+ int contrast, int saturation);
-void ff_yuv2rgb_init_tables_altivec(SwsContext *c, const int inv_table[4], int brightness, int contrast, int saturation);
+void ff_yuv2rgb_init_tables_altivec(SwsContext *c, const int inv_table[4],
+ int brightness, int contrast, int saturation);
SwsFunc ff_yuv2rgb_init_mmx(SwsContext *c);
SwsFunc ff_yuv2rgb_init_vis(SwsContext *c);
SwsFunc ff_yuv2rgb_init_mlib(SwsContext *c);
@@ -279,14 +289,25 @@ SwsFunc ff_yuv2rgb_init_altivec(SwsContext *c);
SwsFunc ff_yuv2rgb_get_func_ptr_bfin(SwsContext *c);
void ff_bfin_get_unscaled_swscale(SwsContext *c);
void ff_yuv2packedX_altivec(SwsContext *c,
- int16_t *lumFilter, int16_t **lumSrc, int lumFilterSize,
- int16_t *chrFilter, int16_t **chrSrc, int chrFilterSize,
- uint8_t *dest, int dstW, int dstY);
+ int16_t *lumFilter, int16_t **lumSrc, int lumFilterSize,
+ int16_t *chrFilter, int16_t **chrSrc, int chrFilterSize,
+ uint8_t *dest, int dstW, int dstY);
const char *sws_format_name(int format);
//FIXME replace this with something faster
-#define isPlanarYUV(x) ( \
+#define is16BPS(x) ( \
+ (x)==PIX_FMT_GRAY16BE \
+ || (x)==PIX_FMT_GRAY16LE \
+ || (x)==PIX_FMT_YUV420PLE \
+ || (x)==PIX_FMT_YUV422PLE \
+ || (x)==PIX_FMT_YUV444PLE \
+ || (x)==PIX_FMT_YUV420PBE \
+ || (x)==PIX_FMT_YUV422PBE \
+ || (x)==PIX_FMT_YUV444PBE \
+ )
+#define isBE(x) ((x)&1)
+#define isPlanar8YUV(x) ( \
(x)==PIX_FMT_YUV410P \
|| (x)==PIX_FMT_YUV420P \
|| (x)==PIX_FMT_YUVA420P \
@@ -297,6 +318,15 @@ const char *sws_format_name(int format);
|| (x)==PIX_FMT_NV12 \
|| (x)==PIX_FMT_NV21 \
)
+#define isPlanarYUV(x) ( \
+ isPlanar8YUV(x) \
+ || (x)==PIX_FMT_YUV420PLE \
+ || (x)==PIX_FMT_YUV422PLE \
+ || (x)==PIX_FMT_YUV444PLE \
+ || (x)==PIX_FMT_YUV420PBE \
+ || (x)==PIX_FMT_YUV422PBE \
+ || (x)==PIX_FMT_YUV444PBE \
+ )
#define isYUV(x) ( \
(x)==PIX_FMT_UYVY422 \
|| (x)==PIX_FMT_YUYV422 \
diff --git a/libswscale/swscale_template.c b/libswscale/swscale_template.c
index 49ce0d32d5..a605b9b663 100644
--- a/libswscale/swscale_template.c
+++ b/libswscale/swscale_template.c
@@ -1671,6 +1671,39 @@ static inline void RENAME(yuy2ToUV)(uint8_t *dstU, uint8_t *dstV, const uint8_t
assert(src1 == src2);
}
+static inline void RENAME(LEToUV)(uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, const uint8_t *src2, long width, uint32_t *unused)
+{
+#if HAVE_MMX
+ __asm__ volatile(
+ "mov %0, %%"REG_a" \n\t"
+ "1: \n\t"
+ "movq (%1, %%"REG_a",2), %%mm0 \n\t"
+ "movq 8(%1, %%"REG_a",2), %%mm1 \n\t"
+ "movq (%2, %%"REG_a",2), %%mm2 \n\t"
+ "movq 8(%2, %%"REG_a",2), %%mm3 \n\t"
+ "psrlw $8, %%mm0 \n\t"
+ "psrlw $8, %%mm1 \n\t"
+ "psrlw $8, %%mm2 \n\t"
+ "psrlw $8, %%mm3 \n\t"
+ "packuswb %%mm1, %%mm0 \n\t"
+ "packuswb %%mm3, %%mm2 \n\t"
+ "movq %%mm0, (%3, %%"REG_a") \n\t"
+ "movq %%mm2, (%4, %%"REG_a") \n\t"
+ "add $8, %%"REG_a" \n\t"
+ " js 1b \n\t"
+ : : "g" ((x86_reg)-width), "r" (src1+width*2), "r" (src2+width*2), "r" (dstU+width), "r" (dstV+width)
+ : "%"REG_a
+ );
+#else
+ int i;
+ for (i=0; i<width; i++)
+ {
+ dstU[i]= src1[2*i + 1];
+ dstV[i]= src2[2*i + 1];
+ }
+#endif
+}
+
/* This is almost identical to the previous, end exists only because
* yuy2ToY/UV)(dst, src+1, ...) would have 100% unaligned accesses. */
static inline void RENAME(uyvyToY)(uint8_t *dst, const uint8_t *src, long width, uint32_t *unused)
@@ -1732,6 +1765,40 @@ static inline void RENAME(uyvyToUV)(uint8_t *dstU, uint8_t *dstV, const uint8_t
assert(src1 == src2);
}
+static inline void RENAME(BEToUV)(uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, const uint8_t *src2, long width, uint32_t *unused)
+{
+#if HAVE_MMX
+ __asm__ volatile(
+ "movq "MANGLE(bm01010101)", %%mm4 \n\t"
+ "mov %0, %%"REG_a" \n\t"
+ "1: \n\t"
+ "movq (%1, %%"REG_a",2), %%mm0 \n\t"
+ "movq 8(%1, %%"REG_a",2), %%mm1 \n\t"
+ "movq (%2, %%"REG_a",2), %%mm2 \n\t"
+ "movq 8(%2, %%"REG_a",2), %%mm3 \n\t"
+ "pand %%mm4, %%mm0 \n\t"
+ "pand %%mm4, %%mm1 \n\t"
+ "pand %%mm4, %%mm2 \n\t"
+ "pand %%mm4, %%mm3 \n\t"
+ "packuswb %%mm1, %%mm0 \n\t"
+ "packuswb %%mm3, %%mm2 \n\t"
+ "movq %%mm0, (%3, %%"REG_a") \n\t"
+ "movq %%mm2, (%4, %%"REG_a") \n\t"
+ "add $8, %%"REG_a" \n\t"
+ " js 1b \n\t"
+ : : "g" ((x86_reg)-width), "r" (src1+width*2), "r" (src2+width*2), "r" (dstU+width), "r" (dstV+width)
+ : "%"REG_a
+ );
+#else
+ int i;
+ for (i=0; i<width; i++)
+ {
+ dstU[i]= src1[2*i];
+ dstV[i]= src2[2*i];
+ }
+#endif
+}
+
#define BGR2Y(type, name, shr, shg, shb, maskr, maskg, maskb, RY, GY, BY, S)\
static inline void RENAME(name)(uint8_t *dst, const uint8_t *src, long width, uint32_t *unused)\
{\
@@ -2272,6 +2339,7 @@ static inline void RENAME(hyscale)(SwsContext *c, uint16_t *dst, long dstWidth,
int16_t *mmx2Filter = c->lumMmx2Filter;
int canMMX2BeUsed = c->canMMX2BeUsed;
void *funnyYCode = c->funnyYCode;
+ void (*internal_func)(uint8_t *, const uint8_t *, long, uint32_t *) = isAlpha ? c->hascale_internal : c->hyscale_internal;
if (isAlpha) {
if (srcFormat == PIX_FMT_RGB32 || srcFormat == PIX_FMT_BGR32 )
@@ -2281,8 +2349,8 @@ static inline void RENAME(hyscale)(SwsContext *c, uint16_t *dst, long dstWidth,
src += ALT32_CORR;
}
- if (c->hyscale_internal) {
- c->hyscale_internal(formatConvBuffer, src, srcW, pal);
+ if (internal_func) {
+ internal_func(formatConvBuffer, src, srcW, pal);
src= formatConvBuffer;
}
@@ -2465,7 +2533,7 @@ inline static void RENAME(hcscale)(SwsContext *c, uint16_t *dst, long dstWidth,
if (isGray(srcFormat) || srcFormat==PIX_FMT_MONOBLACK || srcFormat==PIX_FMT_MONOWHITE)
return;
- if (srcFormat==PIX_FMT_RGB32_1) {
+ if (srcFormat==PIX_FMT_RGB32_1 || srcFormat==PIX_FMT_BGR32_1) {
src1 += ALT32_CORR;
src2 += ALT32_CORR;
}
@@ -3084,6 +3152,12 @@ static void RENAME(sws_init_swScale)(SwsContext *c)
case PIX_FMT_PAL8 :
case PIX_FMT_BGR4_BYTE:
case PIX_FMT_RGB4_BYTE: c->hcscale_internal = RENAME(palToUV); break;
+ case PIX_FMT_YUV420PBE:
+ case PIX_FMT_YUV422PBE:
+ case PIX_FMT_YUV444PBE: c->hcscale_internal = RENAME(BEToUV); break;
+ case PIX_FMT_YUV420PLE:
+ case PIX_FMT_YUV422PLE:
+ case PIX_FMT_YUV444PLE: c->hcscale_internal = RENAME(LEToUV); break;
}
if (c->chrSrcHSubSample) {
switch(srcFormat) {
@@ -3114,10 +3188,17 @@ static void RENAME(sws_init_swScale)(SwsContext *c)
}
c->hyscale_internal = NULL;
+ c->hascale_internal = NULL;
switch (srcFormat) {
case PIX_FMT_YUYV422 :
+ case PIX_FMT_YUV420PBE:
+ case PIX_FMT_YUV422PBE:
+ case PIX_FMT_YUV444PBE:
case PIX_FMT_GRAY16BE : c->hyscale_internal = RENAME(yuy2ToY); break;
case PIX_FMT_UYVY422 :
+ case PIX_FMT_YUV420PLE:
+ case PIX_FMT_YUV422PLE:
+ case PIX_FMT_YUV444PLE:
case PIX_FMT_GRAY16LE : c->hyscale_internal = RENAME(uyvyToY); break;
case PIX_FMT_BGR24 : c->hyscale_internal = RENAME(bgr24ToY); break;
case PIX_FMT_BGR565 : c->hyscale_internal = RENAME(bgr16ToY); break;
@@ -3132,20 +3213,17 @@ static void RENAME(sws_init_swScale)(SwsContext *c)
case PIX_FMT_RGB4_BYTE: c->hyscale_internal = RENAME(palToY); break;
case PIX_FMT_MONOBLACK: c->hyscale_internal = RENAME(monoblack2Y); break;
case PIX_FMT_MONOWHITE: c->hyscale_internal = RENAME(monowhite2Y); break;
+ case PIX_FMT_RGB32 :
+ case PIX_FMT_RGB32_1: c->hyscale_internal = RENAME(bgr32ToY); break;
+ case PIX_FMT_BGR32 :
+ case PIX_FMT_BGR32_1: c->hyscale_internal = RENAME(rgb32ToY); break;
}
if (c->alpPixBuf) {
switch (srcFormat) {
case PIX_FMT_RGB32 :
case PIX_FMT_RGB32_1:
case PIX_FMT_BGR32 :
- case PIX_FMT_BGR32_1: c->hyscale_internal = RENAME(abgrToA); break;
- }
- } else {
- switch (srcFormat) {
- case PIX_FMT_RGB32 :
- case PIX_FMT_RGB32_1: c->hyscale_internal = RENAME(bgr32ToY); break;
- case PIX_FMT_BGR32 :
- case PIX_FMT_BGR32_1: c->hyscale_internal = RENAME(rgb32ToY); break;
+ case PIX_FMT_BGR32_1: c->hascale_internal = RENAME(abgrToA); break;
}
}
}
diff --git a/libswscale/yuv2rgb.c b/libswscale/yuv2rgb.c
index d8438c0c66..d2389c71dd 100644
--- a/libswscale/yuv2rgb.c
+++ b/libswscale/yuv2rgb.c
@@ -137,9 +137,6 @@ YUV2RGBFUNC(yuv2rgb_c_32, uint32_t, 0)
LOADCHROMA(1);
PUTRGB(dst_2,py_2,1,1);
PUTRGB(dst_1,py_1,1,0);
- LOADCHROMA(1);
- PUTRGB(dst_2,py_2,1,1);
- PUTRGB(dst_1,py_1,1,0);
LOADCHROMA(2);
PUTRGB(dst_1,py_1,2,0);
@@ -166,9 +163,6 @@ YUV2RGBFUNC(yuva2rgba_c, uint32_t, 1)
LOADCHROMA(1);
PUTRGBA(dst_2,py_2,pa_1,1,1,24);
PUTRGBA(dst_1,py_1,pa_2,1,0,24);
- LOADCHROMA(1);
- PUTRGBA(dst_2,py_2,pa_1,1,1,24);
- PUTRGBA(dst_1,py_1,pa_2,1,0,24);
LOADCHROMA(2);
PUTRGBA(dst_1,py_1,pa_1,2,0,24);
@@ -197,9 +191,6 @@ YUV2RGBFUNC(yuva2argb_c, uint32_t, 1)
LOADCHROMA(1);
PUTRGBA(dst_2,py_2,pa_2,1,1,0);
PUTRGBA(dst_1,py_1,pa_1,1,0,0);
- LOADCHROMA(1);
- PUTRGBA(dst_2,py_2,pa_2,1,1,0);
- PUTRGBA(dst_1,py_1,pa_1,1,0,0);
LOADCHROMA(2);
PUTRGBA(dst_1,py_1,pa_1,2,0,0);
diff --git a/libvo/gl_common.c b/libvo/gl_common.c
index b65023f93e..950eb726f0 100644
--- a/libvo/gl_common.c
+++ b/libvo/gl_common.c
@@ -1537,22 +1537,17 @@ void swapGlBuffers(void) {
* \brief find address of a linked function
* \param s name of function to find
* \return address of function or NULL if not found
- *
- * Copied from xine
*/
static void *getdladdr(const char *s) {
+ void *ret = NULL;
#ifdef HAVE_LIBDL
-#if defined(__sun) || defined(__sgi)
- static void *handle = NULL;
+ void *handle = dlopen(NULL, RTLD_LAZY);
if (!handle)
- handle = dlopen(NULL, RTLD_LAZY);
- return dlsym(handle, s);
-#else
- return dlsym(0, s);
-#endif
-#else
- return NULL;
+ return NULL;
+ ret = dlsym(handle, s);
+ dlclose(handle);
#endif
+ return ret;
}
/**
diff --git a/libvo/jpeg_enc.c b/libvo/jpeg_enc.c
index a0f76ee6d2..6cf00f7e56 100644
--- a/libvo/jpeg_enc.c
+++ b/libvo/jpeg_enc.c
@@ -484,7 +484,7 @@ int jpeg_enc_frame(jpeg_enc_t *j, unsigned char *y_data,
//if (j->s->mjpeg_write_tables == 1)
// j->s->mjpeg_write_tables = 0;
- return pbBufPtr(&(j->s->pb)) - j->s->pb.buf;
+ return put_bits_ptr(&(j->s->pb)) - j->s->pb.buf;
}
void jpeg_enc_uninit(jpeg_enc_t *j) {
diff --git a/libvo/mga_common.c b/libvo/mga_common.c
index 06d374f9fd..8c3bf74671 100644
--- a/libvo/mga_common.c
+++ b/libvo/mga_common.c
@@ -450,7 +450,7 @@ static int mga_init(int width,int height,unsigned int format){
return 0;
}
-static int mga_uninit(){
+static int mga_uninit(void){
if(f>=0){
ioctl( f,MGA_VID_OFF,0 );
munmap(frames[0],mga_vid_config.frame_size*mga_vid_config.num_frames);
diff --git a/libvo/video_out.c b/libvo/video_out.c
index eb348dd086..73926c541e 100644
--- a/libvo/video_out.c
+++ b/libvo/video_out.c
@@ -116,7 +116,7 @@ extern struct vo_driver video_out_cvidix;
extern struct vo_driver video_out_tdfx_vid;
extern struct vo_driver video_out_xvr100;
extern struct vo_driver video_out_tga;
-extern struct vo_driver video_out_macosx;
+extern struct vo_driver video_out_corevideo;
extern struct vo_driver video_out_quartz;
extern struct vo_driver video_out_pnm;
extern struct vo_driver video_out_md5sum;
@@ -139,7 +139,7 @@ const struct vo_driver *video_out_drivers[] =
&video_out_kva,
#endif
#ifdef CONFIG_COREVIDEO
- &video_out_macosx,
+ &video_out_corevideo,
#endif
#ifdef CONFIG_QUARTZ
&video_out_quartz,
diff --git a/libvo/vo_caca.c b/libvo/vo_caca.c
index c9bdd19568..0702d86a2d 100644
--- a/libvo/vo_caca.c
+++ b/libvo/vo_caca.c
@@ -140,7 +140,7 @@ static void osdpercent(int duration, int min, int max, int val, const char *desc
posbar[screen_w] = '\0';
}
-static int resize ()
+static int resize(void)
{
screen_w = caca_get_width();
screen_h = caca_get_height();
diff --git a/libvo/vo_macosx.h b/libvo/vo_corevideo.h
index 7444bcbf5a..44c2ad8a89 100644
--- a/libvo/vo_macosx.h
+++ b/libvo/vo_corevideo.h
@@ -1,5 +1,5 @@
/*
- * MPlayer Mac OS X video output driver
+ * CoreVideo video output driver
*
* Copyright (c) 2005 Nicolas Plourde <nicolasplourde@gmail.com>
*
@@ -22,7 +22,7 @@
#import <Cocoa/Cocoa.h>
#import <QuartzCore/QuartzCore.h>
-#import <QuickTime/QuickTime.h>
+#import <Carbon/Carbon.h>
// MPlayer OS X VO Protocol
@protocol MPlayerOSXVOProto
diff --git a/libvo/vo_macosx.m b/libvo/vo_corevideo.m
index eaa08c3316..13c8794b1f 100644
--- a/libvo/vo_macosx.m
+++ b/libvo/vo_corevideo.m
@@ -1,5 +1,5 @@
/*
- * Mac OS X video output driver
+ * CoreVideo video output driver
* Copyright (c) 2005 Nicolas Plourde <nicolasplourde@gmail.com>
*
* This file is part of MPlayer.
@@ -19,7 +19,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#import "vo_macosx.h"
+#import "vo_corevideo.h"
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/mman.h>
@@ -95,12 +95,12 @@ static BOOL isLeopardOrLater;
static vo_info_t info =
{
"Mac OS X Core Video",
- "macosx",
+ "corevideo",
"Nicolas Plourde <nicolas.plourde@gmail.com>",
""
};
-LIBVO_EXTERN(macosx)
+LIBVO_EXTERN(corevideo)
static void draw_alpha(int x0, int y0, int w, int h, unsigned char *src, unsigned char *srca, int stride)
{
@@ -120,13 +120,13 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_
//init screen
screen_array = [NSScreen screens];
- if(screen_id < [screen_array count])
+ if(screen_id < (int)[screen_array count])
{
screen_handle = [screen_array objectAtIndex:(screen_id < 0 ? 0 : screen_id)];
}
else
{
- mp_msg(MSGT_VO, MSGL_FATAL, "Get device error: Device ID %d does not exist, falling back to main device.\n", screen_id);
+ mp_msg(MSGT_VO, MSGL_INFO, "[vo_corevideo] Device ID %d does not exist, falling back to main device\n", screen_id);
screen_handle = [screen_array objectAtIndex:0];
screen_id = -1;
}
@@ -177,8 +177,8 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_
}
else
{
- mp_msg(MSGT_VO, MSGL_INFO, "VO: [macosx] writing output to a shared buffer "
- "named \"%s\".\n",buffer_name);
+ mp_msg(MSGT_VO, MSGL_INFO, "[vo_corevideo] writing output to a shared buffer "
+ "named \"%s\"\n",buffer_name);
movie_aspect = (float)d_width/(float)d_height;
@@ -187,7 +187,7 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_
if (shm_fd == -1)
{
mp_msg(MSGT_VO, MSGL_FATAL,
- "vo_macosx: failed to open shared memory. Error: %s\n", strerror(errno));
+ "[vo_corevideo] failed to open shared memory. Error: %s\n", strerror(errno));
return 1;
}
@@ -195,7 +195,7 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_
if (ftruncate(shm_fd, image_width*image_height*image_bytes) == -1)
{
mp_msg(MSGT_VO, MSGL_FATAL,
- "vo_macosx: failed to size shared memory, possibly already in use. Error: %s\n", strerror(errno));
+ "[vo_corevideo] failed to size shared memory, possibly already in use. Error: %s\n", strerror(errno));
shm_unlink(buffer_name);
return 1;
}
@@ -206,7 +206,7 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_
if (image_data == MAP_FAILED)
{
mp_msg(MSGT_VO, MSGL_FATAL,
- "vo_macosx: failed to map shared memory. Error: %s\n", strerror(errno));
+ "[vo_corevideo] failed to map shared memory. Error: %s\n", strerror(errno));
shm_unlink(buffer_name);
return 1;
}
@@ -302,10 +302,10 @@ static void uninit(void)
mplayerosxProxy = nil;
if (munmap(image_data, image_width*image_height*image_bytes) == -1)
- mp_msg(MSGT_VO, MSGL_FATAL, "uninit: munmap failed. Error: %s\n", strerror(errno));
+ mp_msg(MSGT_VO, MSGL_FATAL, "[vo_corevideo] uninit: munmap failed. Error: %s\n", strerror(errno));
if (shm_unlink(buffer_name) == -1)
- mp_msg(MSGT_VO, MSGL_FATAL, "uninit: shm_unlink failed. Error: %s\n", strerror(errno));
+ mp_msg(MSGT_VO, MSGL_FATAL, "[vo_corevideo] uninit: shm_unlink failed. Error: %s\n", strerror(errno));
}
@@ -352,8 +352,8 @@ static int preinit(const char *arg)
if (subopt_parse(arg, subopts) != 0) {
mp_msg(MSGT_VO, MSGL_FATAL,
- "\n-vo macosx command line help:\n"
- "Example: mplayer -vo macosx:device_id=1:shared_buffer:buffer_name=mybuff\n"
+ "\n-vo corevideo command line help:\n"
+ "Example: mplayer -vo corevideo:device_id=1:shared_buffer:buffer_name=mybuff\n"
"\nOptions:\n"
" device_id=<0-...>\n"
" Set screen device ID for fullscreen.\n"
@@ -476,20 +476,20 @@ static int control(uint32_t request, void *data)
error = CVPixelBufferCreateWithBytes(NULL, image_width, image_height, pixelFormat, image_datas[0], image_width*image_bytes, NULL, NULL, NULL, &frameBuffers[0]);
if(error != kCVReturnSuccess)
- mp_msg(MSGT_VO, MSGL_ERR,"Failed to create Pixel Buffer(%d)\n", error);
+ mp_msg(MSGT_VO, MSGL_ERR,"[vo_corevideo] Failed to create Pixel Buffer(%d)\n", error);
if (vo_doublebuffering) {
error = CVPixelBufferCreateWithBytes(NULL, image_width, image_height, pixelFormat, image_datas[1], image_width*image_bytes, NULL, NULL, NULL, &frameBuffers[1]);
if(error != kCVReturnSuccess)
- mp_msg(MSGT_VO, MSGL_ERR,"Failed to create Pixel Double Buffer(%d)\n", error);
+ mp_msg(MSGT_VO, MSGL_ERR,"[vo_corevideo] Failed to create Pixel Double Buffer(%d)\n", error);
}
error = CVOpenGLTextureCacheCreate(NULL, 0, [glContext CGLContextObj], [[self pixelFormat] CGLPixelFormatObj], 0, &textureCache);
if(error != kCVReturnSuccess)
- mp_msg(MSGT_VO, MSGL_ERR,"Failed to create OpenGL texture Cache(%d)\n", error);
+ mp_msg(MSGT_VO, MSGL_ERR,"[vo_corevideo] Failed to create OpenGL texture Cache(%d)\n", error);
error = CVOpenGLTextureCacheCreateTextureFromImage(NULL, textureCache, frameBuffers[image_page], 0, &texture);
if(error != kCVReturnSuccess)
- mp_msg(MSGT_VO, MSGL_ERR,"Failed to create OpenGL texture(%d)\n", error);
+ mp_msg(MSGT_VO, MSGL_ERR,"[vo_corevideo] Failed to create OpenGL texture(%d)\n", error);
//show window
[window center];
@@ -834,9 +834,10 @@ static int control(uint32_t request, void *data)
{
CVReturn error = kCVReturnSuccess;
+ CVOpenGLTextureRelease(texture);
error = CVOpenGLTextureCacheCreateTextureFromImage(NULL, textureCache, frameBuffers[image_page], 0, &texture);
if(error != kCVReturnSuccess)
- mp_msg(MSGT_VO, MSGL_ERR,"Failed to create OpenGL texture(%d)\n", error);
+ mp_msg(MSGT_VO, MSGL_ERR,"[vo_corevideo] Failed to create OpenGL texture(%d)\n", error);
CVOpenGLTextureGetCleanTexCoords(texture, lowerLeft, lowerRight, upperRight, upperLeft);
}
diff --git a/libvo/vo_directx.c b/libvo/vo_directx.c
index 7d4feaa5e5..32328ae4fd 100644
--- a/libvo/vo_directx.c
+++ b/libvo/vo_directx.c
@@ -198,7 +198,7 @@ query_format(uint32_t format)
return 0;
}
-static uint32_t Directx_CreatePrimarySurface()
+static uint32_t Directx_CreatePrimarySurface(void)
{
DDSURFACEDESC2 ddsd;
//cleanup
@@ -308,7 +308,7 @@ static uint32_t Directx_CreateOverlay(uint32_t imgfmt)
return 0;
}
-static uint32_t Directx_CreateBackpuffer()
+static uint32_t Directx_CreateBackpuffer(void)
{
DDSURFACEDESC2 ddsd;
//cleanup
@@ -414,7 +414,7 @@ static BOOL WINAPI EnumCallbackEx(GUID FAR *lpGUID, LPSTR lpDriverDescription, L
return 1; // list all adapters
}
-static uint32_t Directx_InitDirectDraw()
+static uint32_t Directx_InitDirectDraw(void)
{
HRESULT (WINAPI *OurDirectDrawCreateEx)(GUID *,LPVOID *, REFIID,IUnknown FAR *);
DDSURFACEDESC2 ddsd;
@@ -531,7 +531,7 @@ static void check_events(void)
}
}
-static uint32_t Directx_ManageDisplay()
+static uint32_t Directx_ManageDisplay(void)
{
HRESULT ddrval;
DDCAPS capsDrv;
@@ -761,7 +761,7 @@ static uint32_t Directx_ManageDisplay()
}
//find out supported overlay pixelformats
-static uint32_t Directx_CheckOverlayPixelformats()
+static uint32_t Directx_CheckOverlayPixelformats(void)
{
DDCAPS capsDrv;
HRESULT ddrval;
@@ -822,7 +822,7 @@ static uint32_t Directx_CheckOverlayPixelformats()
}
//find out the Pixelformat of the Primary Surface
-static uint32_t Directx_CheckPrimaryPixelformat()
+static uint32_t Directx_CheckPrimaryPixelformat(void)
{
uint32_t i=0;
uint32_t formatcount = 0;
diff --git a/libvo/vo_dxr2.c b/libvo/vo_dxr2.c
index ccbef40b61..8e879bb553 100644
--- a/libvo/vo_dxr2.c
+++ b/libvo/vo_dxr2.c
@@ -203,7 +203,7 @@ int write_dxr2(const unsigned char *data, int len)
return w;
}
-static void flush_dxr2()
+static void flush_dxr2(void)
{
int w;
while (dxr2bufpos) {
diff --git a/libvo/vo_quartz.c b/libvo/vo_quartz.c
index 97ca656b8d..4e2bbd0f3a 100644
--- a/libvo/vo_quartz.c
+++ b/libvo/vo_quartz.c
@@ -149,10 +149,10 @@ enum
static OSStatus KeyEventHandler(EventHandlerCallRef nextHandler, EventRef event, void *userData);
static OSStatus MouseEventHandler(EventHandlerCallRef nextHandler, EventRef event, void *userData);
static OSStatus WindowEventHandler(EventHandlerCallRef nextHandler, EventRef event, void *userData);
-void window_resized();
-void window_ontop();
-void window_fullscreen();
-void window_panscan();
+void window_resized(void);
+void window_ontop(void);
+void window_fullscreen(void);
+void window_panscan(void);
static inline int convert_key(UInt32 key, UInt32 charcode)
{
@@ -1313,7 +1313,7 @@ static int control(uint32_t request, void *data)
return VO_NOTIMPL;
}
-void window_resized()
+void window_resized(void)
{
float aspectX;
float aspectY;
@@ -1394,7 +1394,7 @@ void window_resized()
QDEndCGContext(GetWindowPort(theWindow), &context);
}
-void window_ontop()
+void window_ontop(void)
{
if (!vo_quartz_fs)
{
@@ -1406,7 +1406,7 @@ void window_ontop()
SetWindowGroupLevel(winGroup, CGWindowLevelForKey(levelList[winLevel]));
}
-void window_fullscreen()
+void window_fullscreen(void)
{
// go fullscreen
if (vo_fs)
@@ -1491,7 +1491,7 @@ void window_fullscreen()
window_resized();
}
-void window_panscan()
+void window_panscan(void)
{
panscan_calc();
diff --git a/libvo/vo_tdfxfb.c b/libvo/vo_tdfxfb.c
index c40cae7b82..ddb4a189b8 100644
--- a/libvo/vo_tdfxfb.c
+++ b/libvo/vo_tdfxfb.c
@@ -202,7 +202,7 @@ static void uninit(void)
}
}
-static void clear_screen()
+static void clear_screen(void)
{
/* There needs to be some sort of delay here or else things seriously
* screw up. Causes the image to not be the right size on screen if
diff --git a/libvo/vo_vdpau.c b/libvo/vo_vdpau.c
index 2d3b269383..e0a2c40de0 100644
--- a/libvo/vo_vdpau.c
+++ b/libvo/vo_vdpau.c
@@ -574,7 +574,9 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width,
xswa.background_pixel = 0;
xswa.border_pixel = 0;
- xswamask = CWBackPixel | CWBorderPixel;
+ /* Do not use CWBackPixel: It leads to VDPAU errors after
+ aspect ratio changes. */
+ xswamask = CWBorderPixel;
vo_x11_create_vo_window(&vinfo, vo_dx, vo_dy, d_width, d_height,
flags, CopyFromParent, "vdpau", title);
diff --git a/loader/dmo/dmo.c b/loader/dmo/dmo.c
index ee6ac27f3c..0e4d2a45e4 100644
--- a/loader/dmo/dmo.c
+++ b/loader/dmo/dmo.c
@@ -12,7 +12,7 @@
#include <string.h>
#include "win32.h" // printf macro
-void trapbug();
+void trapbug(void);
typedef long STDCALL (*GETCLASS) (const GUID*, const GUID*, void**);
void DMO_Filter_Destroy(DMO_Filter* This)
diff --git a/loader/dshow/DS_Filter.c b/loader/dshow/DS_Filter.c
index a1619702db..11dd11dee9 100644
--- a/loader/dshow/DS_Filter.c
+++ b/loader/dshow/DS_Filter.c
@@ -30,8 +30,6 @@ HRESULT STDCALL CoInitialize(LPVOID pvReserved);
void STDCALL CoUninitialize(void);
#endif
-//void trapbug();
-
static void DS_Filter_Start(DS_Filter* This)
{
HRESULT hr;
diff --git a/loader/registry.c b/loader/registry.c
index 01c6321ec5..c92321f4e0 100644
--- a/loader/registry.c
+++ b/loader/registry.c
@@ -216,7 +216,7 @@ static reg_handle_t* find_handle(int handle)
}
return 0;
}
-static int generate_handle()
+static int generate_handle(void)
{
static unsigned int zz=249;
zz++;
diff --git a/loader/vfl.c b/loader/vfl.c
index 54d1076fa4..7b0f10ea77 100644
--- a/loader/vfl.c
+++ b/loader/vfl.c
@@ -223,7 +223,7 @@ LRESULT VFWAPI ICClose(HIC hic) {
return 0;
}
-int VFWAPI ICDoSomething()
+int VFWAPI ICDoSomething(void)
{
return 0;
}
diff --git a/loader/win32.c b/loader/win32.c
index 4287c5b0b1..bf0ad205b9 100644
--- a/loader/win32.c
+++ b/loader/win32.c
@@ -90,7 +90,7 @@ static void do_cpuid(unsigned int ax, unsigned int *regs)
: "0" (ax), "S" (regs)
);
}
-static unsigned int c_localcount_tsc()
+static unsigned int c_localcount_tsc(void)
{
int a;
__asm__ volatile
@@ -116,7 +116,7 @@ static void c_longcount_tsc(long long* z)
:"edx"
);
}
-static unsigned int c_localcount_notsc()
+static unsigned int c_localcount_notsc(void)
{
struct timeval tv;
unsigned limit=~0;
@@ -485,7 +485,7 @@ static void* my_realloc(void* memory, int size)
*
*/
-static int WINAPI ext_unknown()
+static int WINAPI ext_unknown(void)
{
printf("Unknown func called\n");
return 0;
@@ -1134,7 +1134,7 @@ static WIN_BOOL WINAPI expIsProcessorFeaturePresent(DWORD v)
}
-static long WINAPI expGetVersion()
+static long WINAPI expGetVersion(void)
{
dbgprintf("GetVersion() => 0xC0000004\n");
return 0xC0000004;//Windows 95
@@ -1426,12 +1426,12 @@ static void WINAPI expDeleteCriticalSection(CRITICAL_SECTION *c)
#endif
return;
}
-static int WINAPI expGetCurrentThreadId()
+static int WINAPI expGetCurrentThreadId(void)
{
dbgprintf("GetCurrentThreadId() => %d\n", pthread_self());
return pthread_self();
}
-static int WINAPI expGetCurrentProcess()
+static int WINAPI expGetCurrentProcess(void)
{
dbgprintf("GetCurrentProcess() => %d\n", getpid());
return getpid();
@@ -1445,7 +1445,7 @@ extern void* fs_seg;
//static int tls_count;
static int tls_use_map[64];
-static int WINAPI expTlsAlloc()
+static int WINAPI expTlsAlloc(void)
{
int i;
for(i=0; i<64; i++)
@@ -1496,7 +1496,7 @@ struct tls_s {
struct tls_s* next;
};
-static void* WINAPI expTlsAlloc()
+static void* WINAPI expTlsAlloc(void)
{
if (g_tls == NULL)
{
@@ -1913,7 +1913,7 @@ static DWORD WINAPI expRegQueryInfoKeyA( HKEY hkey, LPSTR class, LPDWORD class_l
/*
* return CPU clock (in kHz), using linux's /proc filesystem (/proc/cpuinfo)
*/
-static double linux_cpuinfo_freq()
+static double linux_cpuinfo_freq(void)
{
double freq=-1;
FILE *f;
@@ -1945,7 +1945,7 @@ static double linux_cpuinfo_freq()
}
-static double solaris_kstat_freq()
+static double solaris_kstat_freq(void)
{
#if defined(HAVE_LIBKSTAT) && defined(KSTAT_DATA_INT32)
/*
@@ -1988,7 +1988,7 @@ static double solaris_kstat_freq()
/*
* Measure CPU freq using the pentium's time stamp counter register (TSC)
*/
-static double tsc_freq()
+static double tsc_freq(void)
{
static double ofreq=0.0;
int i;
@@ -2004,7 +2004,7 @@ static double tsc_freq()
return ofreq;
}
-static double CPU_Freq()
+static double CPU_Freq(void)
{
double freq;
@@ -2023,7 +2023,7 @@ static long WINAPI expQueryPerformanceFrequency(long long* z)
dbgprintf("QueryPerformanceFrequency(0x%x) => 1 ( %Ld )\n", z, *z);
return 1;
}
-static long WINAPI exptimeGetTime()
+static long WINAPI exptimeGetTime(void)
{
struct timeval t;
long result;
@@ -2116,13 +2116,13 @@ static int WINAPI expCloseHandle(long v1)
return 1;
}
-static const char* WINAPI expGetCommandLineA()
+static const char* WINAPI expGetCommandLineA(void)
{
dbgprintf("GetCommandLineA() => \"c:\\aviplay.exe\"\n");
return "c:\\aviplay.exe";
}
static short envs[]={'p', 'a', 't', 'h', ' ', 'c', ':', '\\', 0, 0};
-static LPWSTR WINAPI expGetEnvironmentStringsW()
+static LPWSTR WINAPI expGetEnvironmentStringsW(void)
{
dbgprintf("GetEnvironmentStringsW() => 0\n", envs);
return 0;
@@ -2160,7 +2160,7 @@ static int WINAPI expFreeEnvironmentStringsA(char* strings)
static const char ch_envs[]=
"__MSVCRT_HEAP_SELECT=__GLOBAL_HEAP_SELECTED,1\r\n"
"PATH=C:\\;C:\\windows\\;C:\\windows\\system\r\n";
-static LPCSTR WINAPI expGetEnvironmentStrings()
+static LPCSTR WINAPI expGetEnvironmentStrings(void)
{
dbgprintf("GetEnvironmentStrings() => 0x%x\n", ch_envs);
return (LPCSTR)ch_envs;
@@ -2818,7 +2818,7 @@ static int WINAPI expSizeofResource(int v1, int v2)
return result;
}
-static int WINAPI expGetLastError()
+static int WINAPI expGetLastError(void)
{
int result=GetLastError();
dbgprintf("GetLastError() => 0x%x\n", result);
@@ -2914,7 +2914,7 @@ static int WINAPI expReleaseDC(int hwnd, int hdc)
return 1;
}
-static int WINAPI expGetDesktopWindow()
+static int WINAPI expGetDesktopWindow(void)
{
dbgprintf("GetDesktopWindow() => 0\n");
return 0;
@@ -3581,7 +3581,7 @@ static UINT WINAPI expGetSystemDirectoryA(
}
/*
static char sysdir[]=".";
-static LPCSTR WINAPI expGetSystemDirectoryA()
+static LPCSTR WINAPI expGetSystemDirectoryA(void)
{
dbgprintf("GetSystemDirectoryA() => 0x%x='%s'\n", sysdir, sysdir);
return sysdir;
@@ -4039,7 +4039,7 @@ static int exp_initterm_e(INITTERMFUNC *start, INITTERMFUNC *end)
return 0;
}
-static void* exp__dllonexit()
+static void* exp__dllonexit(void)
{
// FIXME extract from WINE
return NULL;
diff --git a/mencoder.c b/mencoder.c
index af76a90abf..f30ebafb8d 100644
--- a/mencoder.c
+++ b/mencoder.c
@@ -288,9 +288,7 @@ static int edl_seek(edl_record_ptr next_edl_record, demuxer_t* demuxer, demux_st
#include "cfg-mencoder.h"
-#ifdef CONFIG_DVDREAD
#include "spudec.h"
-#endif
#include "vobsub.h"
#include "libao2/audio_out.h"
diff --git a/mplayer.c b/mplayer.c
index 4a58b2dcdc..259407d027 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -3204,17 +3204,17 @@ stream_set_interrupt_callback(mp_input_check_interrupt, mpctx->input);
#ifdef CONFIG_MENU
if(use_menu) {
if(menu_cfg && menu_init(mpctx, mpctx->mconfig, mpctx->input, menu_cfg))
- mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_MenuInitialized, menu_cfg);
+ mp_msg(MSGT_CPLAYER, MSGL_V, MSGTR_MenuInitialized, menu_cfg);
else {
menu_cfg = get_path("menu.conf");
if(menu_init(mpctx, mpctx->mconfig, mpctx->input, menu_cfg))
- mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_MenuInitialized, menu_cfg);
+ mp_msg(MSGT_CPLAYER, MSGL_V, MSGTR_MenuInitialized, menu_cfg);
else {
if(menu_init(mpctx, mpctx->mconfig, mpctx->input,
MPLAYER_CONFDIR "/menu.conf"))
- mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_MenuInitialized, MPLAYER_CONFDIR"/menu.conf");
+ mp_msg(MSGT_CPLAYER, MSGL_V, MSGTR_MenuInitialized, MPLAYER_CONFDIR"/menu.conf");
else {
- mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_MenuInitFailed);
+ mp_msg(MSGT_CPLAYER, MSGL_ERR, MSGTR_MenuInitFailed);
use_menu = 0;
}
}
diff --git a/osdep/timer-darwin.c b/osdep/timer-darwin.c
index 64edfe7ef6..a6e5a987d1 100644
--- a/osdep/timer-darwin.c
+++ b/osdep/timer-darwin.c
@@ -51,19 +51,19 @@ int usec_sleep(int usec_delay)
/* current time in microseconds */
-unsigned int GetTimer()
+unsigned int GetTimer(void)
{
return (unsigned int)(uint64_t)(mach_absolute_time() * timebase_ratio * 1e6);
}
/* current time in milliseconds */
-unsigned int GetTimerMS()
+unsigned int GetTimerMS(void)
{
return (unsigned int)(uint64_t)(mach_absolute_time() * timebase_ratio * 1e3);
}
/* initialize timer, must be called at least once at start */
-void InitTimer()
+void InitTimer(void)
{
struct mach_timebase_info timebase;
diff --git a/osdep/timer-linux.c b/osdep/timer-linux.c
index 576bae5be6..defb69ff7b 100644
--- a/osdep/timer-linux.c
+++ b/osdep/timer-linux.c
@@ -31,9 +31,9 @@
const char timer_name[] =
#ifdef HAVE_NANOSLEEP
- "nanosleep()";
+ "nanosleep()";
#else
- "usleep()";
+ "usleep()";
#endif
int usec_sleep(int usec_delay)
@@ -49,19 +49,22 @@ int usec_sleep(int usec_delay)
}
// Returns current time in microseconds
-unsigned int GetTimer(void){
+unsigned int GetTimer(void)
+{
struct timeval tv;
gettimeofday(&tv,NULL);
return tv.tv_sec * 1000000 + tv.tv_usec;
}
// Returns current time in milliseconds
-unsigned int GetTimerMS(void){
+unsigned int GetTimerMS(void)
+{
struct timeval tv;
gettimeofday(&tv,NULL);
return tv.tv_sec * 1000 + tv.tv_usec / 1000;
}
// Initialize timer, must be called at least once at start
-void InitTimer(void){
+void InitTimer(void)
+{
}
diff --git a/stream/stream_dvdnav.c b/stream/stream_dvdnav.c
index 85d86713c2..adb0fcb54c 100644
--- a/stream/stream_dvdnav.c
+++ b/stream/stream_dvdnav.c
@@ -74,6 +74,7 @@ static const struct m_struct_st stream_opts = {
};
static int seek(stream_t *s, off_t newpos);
+static void show_audio_subs_languages(dvdnav_t *nav);
static dvdnav_priv_t * new_dvdnav_stream(char * filename) {
const char * title_str;
@@ -205,10 +206,13 @@ static int dvdnav_stream_read(dvdnav_priv_t * priv, unsigned char *buf, int *len
if(ev->pgc_length)
priv->duration = ev->pgc_length/90;
- if (dvdnav_is_domain_vts(priv->dvdnav))
+ if (dvdnav_is_domain_vts(priv->dvdnav)) {
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "DVDNAV_TITLE_IS_MOVIE\n");
priv->state &= ~NAV_FLAG_VTS_DOMAIN;
- else
+ } else {
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "DVDNAV_TITLE_IS_MENU\n");
priv->state |= NAV_FLAG_VTS_DOMAIN;
+ }
nextstill = dvdnav_get_next_still_flag (priv->dvdnav);
if (nextstill) {
@@ -340,6 +344,7 @@ static int fill_buffer(stream_t *s, char *but, int len)
priv->state &= ~NAV_FLAG_WAIT;
s->end_pos = 0;
update_title_len(s);
+ show_audio_subs_languages(priv->dvdnav);
if (priv->state & NAV_FLAG_WAIT_READ_AUTO)
priv->state |= NAV_FLAG_WAIT_READ;
if(dvdnav_current_title_info(priv->dvdnav, &tit, &part) == DVDNAV_STATUS_OK) {
@@ -535,8 +540,12 @@ static void show_audio_subs_languages(dvdnav_t *nav)
if(format == 0xFFFF || format > 6)
format = 1; //unknown
id = i + base[format];
- mp_msg(MSGT_OPEN,MSGL_STATUS,MSGTR_DVDaudioStreamInfo, i,
- dvd_audio_stream_types[format], dvd_audio_stream_channels[channels], tmp, id);
+ if (lang != 0xFFFF) {
+ mp_msg(MSGT_OPEN,MSGL_STATUS,MSGTR_DVDaudioStreamInfo, i,
+ dvd_audio_stream_types[format], dvd_audio_stream_channels[channels], tmp, id);
+ if(lang && tmp[0])
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AID_%d_LANG=%s\n", id, tmp);
+ }
}
for(i=0; i<32; i++)
@@ -552,7 +561,8 @@ static void show_audio_subs_languages(dvdnav_t *nav)
tmp[1] = lang & 0xFF;
}
tmp[2] = 0;
- mp_msg(MSGT_OPEN,MSGL_STATUS,MSGTR_DVDsubtitleLanguage, i+0x20, tmp);
+ if (lang != 0xFFFF)
+ mp_msg(MSGT_OPEN,MSGL_STATUS,MSGTR_DVDsubtitleLanguage, i+0x20, tmp);
}
}
diff --git a/stream/tvi_v4l2.c b/stream/tvi_v4l2.c
index c890d7a51e..5bd654282e 100644
--- a/stream/tvi_v4l2.c
+++ b/stream/tvi_v4l2.c
@@ -1313,6 +1313,7 @@ static int init(priv_t *priv)
}
mp_msg(MSGT_TV, MSGL_INFO, " %d = %s;", i, input.name);
}
+ i = -1;
if (ioctl(priv->video_fd, VIDIOC_G_INPUT, &i) < 0) {
mp_msg(MSGT_TV, MSGL_ERR, "%s: ioctl get input failed: %s\n",
info.short_name, strerror(errno));
diff --git a/subdir.mak b/subdir.mak
index df5bb8a09a..9c02815fe0 100644
--- a/subdir.mak
+++ b/subdir.mak
@@ -18,7 +18,30 @@ endif
INCINSTDIR := $(INCDIR)/lib$(NAME)
+THIS_LIB := $(SUBDIR)$($(BUILD_SHARED:yes=S)LIBNAME)
+
define RULES
+$(SUBDIR)%$(EXESUF): $(SUBDIR)%.o
+ $(CC) $(FFLDFLAGS) -o $$@ $$^ -l$(FULLNAME) $(FFEXTRALIBS) $$(ELIBS)
+
+$(SUBDIR)%-test.o: $(SUBDIR)%.c
+ $(CC) $(CFLAGS) -DTEST -c -o $$@ $$^
+
+$(SUBDIR)%-test.o: $(SUBDIR)%-test.c
+ $(CC) $(CFLAGS) -DTEST -c -o $$@ $$^
+
+$(SUBDIR)x86/%.o: $(SUBDIR)x86/%.asm
+ $(YASM) $(YASMFLAGS) -I $$(<D)/ -o $$@ $$<
+ $(YASM) $(YASMFLAGS) -I $$(<D)/ -M -o $$@ $$< > $$(@:%.o=%.d)
+
+clean::
+ rm -f $(EXAMPLES) $(addprefix $(SUBDIR),*-test$(EXESUF) $(CLEANFILES) $(CLEANSUFFIXES) $(LIBSUFFIXES)) \
+ $(addprefix $(SUBDIR), $(foreach suffix,$(CLEANSUFFIXES),$(addsuffix /$(suffix),$(DIRS))))
+
+distclean:: clean
+ rm -f $(addprefix $(SUBDIR),$(DISTCLEANSUFFIXES)) \
+ $(addprefix $(SUBDIR), $(foreach suffix,$(DISTCLEANSUFFIXES),$(addsuffix /$(suffix),$(DIRS))))
+
ifdef BUILD_SHARED
all: $(SUBDIR)$(SLIBNAME)
@@ -39,7 +62,7 @@ endif
install-lib$(NAME)-shared: $(SUBDIR)$(SLIBNAME)
install -d "$(SHLIBDIR)"
- install -m 755 $(SUBDIR)$(SLIBNAME) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
+ install -m 755 $$< "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
$(STRIP) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
cd "$(SHLIBDIR)" && \
$(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR)
@@ -49,7 +72,7 @@ install-lib$(NAME)-shared: $(SUBDIR)$(SLIBNAME)
install-lib$(NAME)-static: $(SUBDIR)$(LIBNAME)
install -d "$(LIBDIR)"
- install -m 644 $(SUBDIR)$(LIBNAME) "$(LIBDIR)"
+ install -m 644 $$< "$(LIBDIR)"
$(LIB_INSTALL_EXTRA_CMD)
install-headers::
@@ -72,3 +95,8 @@ uninstall-headers::
endef
$(eval $(RULES))
+
+$(EXAMPLES) $(TESTPROGS): $(THIS_LIB) $(DEP_LIBS)
+
+examples: $(EXAMPLES)
+testprogs: $(TESTPROGS)
diff --git a/subreader.c b/subreader.c
index ddaeceef8e..19e29491ca 100644
--- a/subreader.c
+++ b/subreader.c
@@ -1261,7 +1261,7 @@ static void adjust_subs_time(subtitle* sub, float subtime, float fps, int block,
sub = nextsub;
m = 0;
}
- if (n) mp_msg(MSGT_SUBREADER,MSGL_INFO,"SUB: Adjusted %d subtitle(s).\n", n);
+ if (n) mp_msg(MSGT_SUBREADER,MSGL_V,"SUB: Adjusted %d subtitle(s).\n", n);
}
struct subreader {
@@ -1364,7 +1364,7 @@ sub_data* sub_read_file (char *filename, float fps) {
mpsub_multiplier = (uses_time ? 100.0 : 1.0);
if (sub_format==SUB_INVALID) {mp_msg(MSGT_SUBREADER,MSGL_WARN,"SUB: Could not determine file format\n");return NULL;}
srp=sr+sub_format;
- mp_msg(MSGT_SUBREADER,MSGL_INFO,"SUB: Detected subtitle file format: %s\n", srp->name);
+ mp_msg(MSGT_SUBREADER, MSGL_V, "SUB: Detected subtitle file format: %s\n", srp->name);
stream_reset(fd);
stream_seek(fd,0);
@@ -1479,9 +1479,8 @@ sub_data* sub_read_file (char *filename, float fps) {
#endif
// printf ("SUB: Subtitle format %s time.\n", uses_time?"uses":"doesn't use");
- mp_msg(MSGT_SUBREADER,MSGL_INFO,"SUB: Read %i subtitles", sub_num);
- if (sub_errs) mp_msg(MSGT_SUBREADER,MSGL_INFO,", %i bad line(s).\n", sub_errs);
- else mp_msg(MSGT_SUBREADER,MSGL_INFO,".\n");
+ mp_msg(MSGT_SUBREADER, MSGL_V,"SUB: Read %i subtitles, %i bad line(s).\n",
+ sub_num, sub_errs);
if(sub_num<=0){
free(first);
diff --git a/vidix/sysdep/AsmMacros_powerpc.h b/vidix/sysdep/AsmMacros_powerpc.h
index 0ae2fd57d2..7688c6ad9f 100644
--- a/vidix/sysdep/AsmMacros_powerpc.h
+++ b/vidix/sysdep/AsmMacros_powerpc.h
@@ -66,7 +66,7 @@
extern unsigned char *ioBase;
-static __inline__ volatile void eieio()
+static __inline__ volatile void eieio(void)
{
__asm__ volatile ("eieio");
}
diff --git a/vidix/sysdep/AsmMacros_x86.h b/vidix/sysdep/AsmMacros_x86.h
index 6bebeaa505..88e71e275d 100644
--- a/vidix/sysdep/AsmMacros_x86.h
+++ b/vidix/sysdep/AsmMacros_x86.h
@@ -321,7 +321,7 @@ static __inline__ unsigned int inl(short port)
return ret;
}
-static __inline__ void intr_disable()
+static __inline__ void intr_disable(void)
{
#ifdef CONFIG_SVGAHELPER
if (svgahelper_initialized == 1)
@@ -330,7 +330,7 @@ static __inline__ void intr_disable()
__asm__ volatile("cli");
}
-static __inline__ void intr_enable()
+static __inline__ void intr_enable(void)
{
#ifdef CONFIG_SVGAHELPER
if (svgahelper_initialized == 1)
diff --git a/vidix/sysdep/pci_win32.c b/vidix/sysdep/pci_win32.c
index d01cdfd30e..bdaf5d53ff 100644
--- a/vidix/sysdep/pci_win32.c
+++ b/vidix/sysdep/pci_win32.c
@@ -31,7 +31,7 @@
#include "vidix/dhahelperwin/dhahelper.h"
static HANDLE hDriver;
-int IsWinNT();
+int IsWinNT(void);