summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2008-09-20 16:13:33 +0300
committerUoti Urpala <uau@glyph.nonexistent.invalid>2008-09-20 16:13:33 +0300
commit849dc0ba31f209dfdb48146512e48ee2203d0ee6 (patch)
tree27b3fcc37410ea5f646eb5fc2411406f2cdee175
parent259ea9d7034566760785fd5253f97b65ee8cd6ed (diff)
parent7756839a147ce2421cfb4e3de046364962094b60 (diff)
downloadmpv-849dc0ba31f209dfdb48146512e48ee2203d0ee6.tar.bz2
mpv-849dc0ba31f209dfdb48146512e48ee2203d0ee6.tar.xz
Merge svn changes up to r27649
Conflicts: Makefile configure libvo/x11_common.c
-rw-r--r--Changelog1
-rw-r--r--Copyright4
-rw-r--r--DOCS/man/en/mplayer.168
-rw-r--r--DOCS/man/hu/mplayer.132
-rw-r--r--DOCS/tech/wishlist4
-rw-r--r--DOCS/xml/en/mencoder.xml3
-rw-r--r--Makefile8
-rwxr-xr-xTOOLS/dvd2divxscript.pl2
-rwxr-xr-xconfigure93
-rw-r--r--cpudetect.c36
-rw-r--r--etc/codecs.conf58
-rw-r--r--fmt-conversion.h20
-rw-r--r--libmpcodecs/ad_hwac3.c6
-rw-r--r--libmpcodecs/ad_liba52.c25
-rw-r--r--libmpdemux/demux_avs.c19
-rw-r--r--libmpdemux/demux_avs.h19
-rw-r--r--libmpdemux/demux_lavf.c3
-rw-r--r--libmpeg2/alloc.c8
-rw-r--r--libmpeg2/alpha_asm.h6
-rw-r--r--libmpeg2/attributes.h5
-rw-r--r--libmpeg2/cpu_accel.c264
-rw-r--r--libmpeg2/cpu_state.c6
-rw-r--r--libmpeg2/decode.c42
-rw-r--r--libmpeg2/header.c226
-rw-r--r--libmpeg2/idct.c4
-rw-r--r--libmpeg2/idct_alpha.c2
-rw-r--r--libmpeg2/idct_altivec.c2
-rw-r--r--libmpeg2/idct_mmx.c6
-rw-r--r--libmpeg2/libmpeg-0.4.1.diff985
-rw-r--r--libmpeg2/libmpeg2_changes.diff318
-rw-r--r--libmpeg2/mmx.h5
-rw-r--r--libmpeg2/motion_comp.c2
-rw-r--r--libmpeg2/motion_comp_arm.c18
-rw-r--r--libmpeg2/motion_comp_arm_s.S3
-rw-r--r--libmpeg2/motion_comp_mmx.c6
-rw-r--r--libmpeg2/mpeg2.h19
-rw-r--r--libmpeg2/mpeg2_internal.h21
-rw-r--r--libmpeg2/slice.c58
-rw-r--r--libmpeg2/vis.h5
-rw-r--r--libmpeg2/vlc.h13
-rw-r--r--libswscale/swscale.c682
-rw-r--r--libswscale/swscale.h1
-rw-r--r--libswscale/swscale_avoption.c1
-rw-r--r--libswscale/swscale_internal.h9
-rw-r--r--libswscale/swscale_template.c868
-rw-r--r--libswscale/yuv2rgb.c119
-rw-r--r--libvo/vo_dfbmga.c484
-rw-r--r--libvo/vo_directfb2.c43
-rw-r--r--libvo/vo_gif89a.c43
-rw-r--r--libvo/vo_quartz.h8
-rw-r--r--libvo/x11_common.c22
-rw-r--r--libvo/x11_common.h1
-rw-r--r--stream/stream_dvd.c2
53 files changed, 2224 insertions, 2484 deletions
diff --git a/Changelog b/Changelog
index 80226b871d..f67276f635 100644
--- a/Changelog
+++ b/Changelog
@@ -56,6 +56,7 @@ MPlayer (1.0)
libmpeg2:
* enable Alpha/ARM optimizations in libmpeg2
* SSE2-optimized IDCT routines from upstream libmpeg2
+ * libmpeg2 updated to version 0.5.1
Drivers:
* replace PolypAudio by PulseAudio (-ao pulse)
diff --git a/Copyright b/Copyright
index 3589e06be9..47ae48b2d0 100644
--- a/Copyright
+++ b/Copyright
@@ -61,11 +61,11 @@ Copyright: 1998, 1999 Eric Smith <eric@brouhaha.com>
License: GNU General Public License
Name: libmpeg2
-Version: 0.4.1 + patches
+Version: 0.5.1 + patches
Homepage: http://libmpeg2.sourceforge.net/
Directory: libmpeg2
Copyright: 1999-2000 Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
- 2000-2003 Michel Lespinasse <walken@zoy.org>
+ 2000-2004 Michel Lespinasse <walken@zoy.org>
2002-2003 Falk Hueffner <falk@debian.org>
2003 David S. Miller <davem@redhat.com>
2003 Regis Duchesne <hpreg@zoy.org>
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1
index 615f33231a..972e3bbc90 100644
--- a/DOCS/man/en/mplayer.1
+++ b/DOCS/man/en/mplayer.1
@@ -905,7 +905,7 @@ to ensure it does not cause security problems (e.g.\& make sure to use full
paths if "." is in your path like on Windows).
.sp 1
This can be "misused" to disable screensavers that do not support the proper
-X API.
+X API (also see \-stop\-xscreensaver).
If you think this is too complicated, ask the author of the screensaver
program to support the proper X APIs.
.sp 1
@@ -3217,6 +3217,8 @@ do not know the screen resolution like fbdev, x11 and TV-out.
.TP
.B \-stop\-xscreensaver (X11 only)
Turns off xscreensaver at startup and turns it on again on exit.
+If your screensaver supports neither the XSS nor XResetScreenSaver
+API please use \-heartbeat\-cmd instead.
.
.TP
.B "\-vm \ \ \ "
@@ -3915,7 +3917,7 @@ Explicitly choose the Matrox device name to use (default: /dev/\:mga_vid).
.PD 1
.
.TP
-.B s3fb (Linux only) (see also \-vf yuv2 and \-dr)
+.B s3fb (Linux only) (also see \-vf yuv2 and \-dr)
S3 Virge specific video output driver.
This driver supports the card's YUV conversion and scaling, double
buffering and direct rendering features.
@@ -4477,8 +4479,21 @@ This is not a bug, but a side effect of not decoding at full resolution.
If <w> is specified lowres decoding will be used only if the width of the
video is major than or equal to <w>.
.RE
-.IPs "o\ \ \ \ "
-FIXME: undocumented
+.B o=<key>=<value>[,<key>=<value>[,...]]
+Pass AVOptions to libavcodec decoder
+Note, a patch to make the o= unneeded and pass all unknown options through
+the AVOption system is welcome.
+A full list of AVOptions can be found in FFmpeg manual.
+Note that some options may conflict with MEncoder options.
+.sp 1
+.RS
+.I EXAMPLE:
+.RE
+.RSs
+.PD 0
+.IPs o=debug=pict
+.PD 1
+.RE
.IPs "sb=<number> (MPEG-2 only)"
Skip the given number of macroblock rows at the bottom.
.IPs "st=<number> (MPEG-2 only)"
@@ -7630,9 +7645,11 @@ Read the source for full details.
.
.TP
.B o=<key>=<value>[,<key>=<value>[,...]]
-Pass AVOptions to libavcodec
+Pass AVOptions to libavcodec encoder
Note, a patch to make the o= unneeded and pass all unknown options through
the AVOption system is welcome.
+A full list of AVOptions can be found in FFmpeg manual.
+Note that some AVOptions may conflict with MEncoder options.
.sp 1
.RS
.I EXAMPLE:
@@ -7889,7 +7906,7 @@ so quality may be low.
motion estimation search range (default: 0 (unlimited))
.
.TP
-.B mbd=<0\-2> (see also *cmp, qpel)
+.B mbd=<0\-2> (also see *cmp, qpel)
Macroblock decision algorithm (high quality mode), encode each macro
block in all modes and choose the best.
This is slow but results in better quality and file size.
@@ -9075,9 +9092,6 @@ FIXME: Document this.
.B skip_threshold=<0\-1000000>
FIXME: Document this.
.
-.TP
-.B "o\ \ \ \ \ \ "
-FIXME: undocumented
.
.
.SS nuv (\-nuvopts)
@@ -10473,8 +10487,21 @@ Maximum length in seconds to analyze the stream properties.
Force a specific libavformat demuxer.
.
.TP
-.B "o\ \ \ \ \ \ "
-FIXME: undocumented
+.B o=<key>=<value>[,<key>=<value>[,...]]
+Pass AVOptions to libavformat demuxer
+Note, a patch to make the o= unneeded and pass all unknown options through
+the AVOption system is welcome.
+A full list of AVOptions can be found in FFmpeg manual.
+Note that some options may conflict with MPlayer/MEncoder options.
+.sp 1
+.RS
+.I EXAMPLE:
+.RE
+.RSs
+.PD 0
+.IPs o=ignidx
+.PD 1
+.RE
.
.TP
.B probesize=<value>
@@ -10532,6 +10559,8 @@ MPEG-4 format
MPEG-4 format with extra header flags required by Apple iPod firmware
.IPs "dv\ \ \ "
Sony Digital Video container
+.IPs "matroska\ \ \ "
+Matroska
.RE
.PD 1
.TP
@@ -10541,8 +10570,21 @@ currently it is meaningful only for MPEG[12].
Sometimes raising it is necessary in order to avoid "buffer underflows".
.
.TP
-.B "o\ \ \ \ \ \ "
-FIXME: undocumented
+.B o=<key>=<value>[,<key>=<value>[,...]]
+Pass AVOptions to libavformat muxer
+Note, a patch to make the o= unneeded and pass all unknown options through
+the AVOption system is welcome.
+A full list of AVOptions can be found in FFmpeg manual.
+Note that some options may conflict with MEncoder options.
+.sp 1
+.RS
+.I EXAMPLE:
+.RE
+.RSs
+.PD 0
+.IPs o=packetsize=100
+.PD 1
+.RE
.
.TP
.B packetsize=<size>
diff --git a/DOCS/man/hu/mplayer.1 b/DOCS/man/hu/mplayer.1
index 965260bc21..7ede56e5c8 100644
--- a/DOCS/man/hu/mplayer.1
+++ b/DOCS/man/hu/mplayer.1
@@ -1,4 +1,4 @@
-.\" Synced with r27407
+.\" Synced with r27607
.\" MPlayer (C) 2000-2008 MPlayer Team
.\" Ezt a man oldalt Gabucino, Diego Biurrun és Jonas Jermann készíti/készítette
.\" Karbantartó: Gabrov
@@ -33,7 +33,7 @@
.\" Név
.\" --------------------------------------------------------------------------
.
-.TH MPlayer 1 "2008. 08. 06." "MPlayer Project" "A film lejátszó"
+.TH MPlayer 1 "2008. 09. 14." "MPlayer Project" "A film lejátszó"
.
.SH NÉV
mplayer \- film lejátszó
@@ -906,7 +906,7 @@ hogy ne okozzon biztonsági problémát (pl.\& győződj meg róla, hogy teljes elérés
utakat használsz, ha a "." benne van az elérési utadban, mint Windows alatt).
.sp 1
Ezt "ki lehet használni" az olyan képernyővédő letiltásához, amely nem
-támogatja ehhez a megfelelő X API-kat.
+támogatja ehhez a megfelelő X API-kat (lásd még \-stop\-xscreensaver).
Ha úgy gondolod, hogy ez túl komplikált, kérd meg a képernyővédő
szerzőjét, hogy támogassa a szükséges X API-kat.
.sp 1
@@ -3230,6 +3230,8 @@ ami nem tudja a képernyő felbontását, mint az fbdev, x11 és TV-out.
.TP
.B \-stop\-xscreensaver (csak X11)
Kikapcsolja az xscreensaver-t a lejátszás indításakor, kilépéskor újraindítja.
+Ha a képernyő védőd sem az XSS, sem az XResetScreenSaver API-t nem támogatja,
+használd inkább a \-heartbeat\-cmd kapcsolót.
.
.TP
.B "\-vm \ \ \ "
@@ -3474,8 +3476,9 @@ Nagyon gyors kimeneti videó vezérlő az olyan kártyákon, amik támogatják.
.RSs
.IPs <aleszköz>
Explicit kiválasztja a használni kívánt VIDIX aleszközt.
-A használható aleszközök a cyberblade, mach64,
-mga_crtc2, mga, nvidia, pm2, pm3, radeon, rage128, sis és unichrome.
+A használható aleszközök a cyberblade, ivtv, mach64,
+mga_crtc2, mga, nvidia, pm2, pm3, radeon, rage128, s3, sh_veu,
+sis_vid és unichrome.
.RE
.PD 1
.
@@ -7410,11 +7413,11 @@ A codec specifikus kódolási paramétereket a következő szintaxissal adhatod meg:
.B \-<codec>opts <opció1[=érték1]:opció2[=érték2]:...>
.
.PP
-Ahol a <codec> lehet: lavc, xvidenc, lame, toolame, twolame,
+Ahol a <codec> lehet: lavc, xvidenc, mp3lame, toolame, twolame,
nuv, xvfw, faac, x264enc, mpeg, lavf.
.
.
-s.SS lame (\-lameopts)
+s.SS mp3lame (\-lameopts)
.
.TP
.B "help\ \ \ "
@@ -7648,6 +7651,21 @@ Nézd meg a forrást a részletekért.
.PD 1
.
.TP
+.B o=<kulcs>=<érték>[,<kulcs>=<érték>[,...]]
+AVOption átadása a libavcodec-nek
+Emlékezz rá, hogy az o= kapcsolót feleslegessé tevő, az összes ismeretlen
+opciót a AVOption rendszernek átadó javítást szívesen fogadunk.
+.sp 1
+.RS
+.I PÉLDA:
+.RE
+.RSs
+.PD 0
+.IPs o=bt=100k
+.PD 1
+.RE
+.
+.TP
.B acodec=<érték>
audió codec (alapértelmezett: mp2)
.PD 0
diff --git a/DOCS/tech/wishlist b/DOCS/tech/wishlist
index 37f256c338..c5fe84b932 100644
--- a/DOCS/tech/wishlist
+++ b/DOCS/tech/wishlist
@@ -23,6 +23,8 @@ Documentation:
* document channels.conf syntax
+ * ability for multiple languages/locales in one binary
+
Small improvements:
* vo_mga should completely blank the screen like fbdev and tdfxfb
@@ -87,7 +89,7 @@ Filters:
* xinerama video filter that splits movie to 2 screens (like zr)
- * mixing of multiple videos (picture in picture, ...)
+ * mixing of multiple videos (picture in picture, review shmem patch)
* video watermark/logo filter (apply vf_overlay patch?)
diff --git a/DOCS/xml/en/mencoder.xml b/DOCS/xml/en/mencoder.xml
index b52ada1986..4646937345 100644
--- a/DOCS/xml/en/mencoder.xml
+++ b/DOCS/xml/en/mencoder.xml
@@ -326,7 +326,8 @@ The name comes from the fact that this method encodes the file
<emphasis>twice</emphasis>. The first encoding (dubbed pass) creates some
temporary files (<filename>*.log</filename>) with a size of few megabytes, do
not delete them yet (you can delete the AVI or rather just not create any video
-by redirecting it into <filename>/dev/null</filename>).
+by redirecting it into <filename>/dev/null</filename>
+or on Windows into <filename>NUL</filename>).
In the second pass, the two pass output
file is created, using the bitrate data from the temporary files. The
resulting file will have much better image quality. If this is the first
diff --git a/Makefile b/Makefile
index 0ac972f7fa..9c889533af 100644
--- a/Makefile
+++ b/Makefile
@@ -296,8 +296,8 @@ SRCS_COMMON-$(HAVE_SYS_MMAN_H) += libaf/af_export.c osdep/mmap_anon.c
SRCS_COMMON-$(JPEG) += libmpcodecs/vd_ijpg.c
SRCS_COMMON-$(LADSPA) += libaf/af_ladspa.c
SRCS_COMMON-$(LIBA52) += libmpcodecs/ad_hwac3.c \
- libmpcodecs/ad_liba52.c \
- liba52/crc.c \
+ libmpcodecs/ad_liba52.c
+SRCS_COMMON-$(LIBA52_INTERNAL) += liba52/crc.c \
liba52/resample.c \
liba52/bit_allocate.c \
liba52/bitstream.c \
@@ -637,7 +637,7 @@ COMMON_LIBS-$(LIBAVFORMAT_A) += ffmpeg/libavformat/libavformat.a
COMMON_LIBS-$(LIBAVCODEC_A) += ffmpeg/libavcodec/libavcodec.a
COMMON_LIBS-$(LIBAVUTIL_A) += ffmpeg/libavutil/libavutil.a
COMMON_LIBS-$(LIBPOSTPROC_A) += ffmpeg/libpostproc/libpostproc.a
-COMMON_LIBS = libswscale/libswscale.a
+COMMON_LIBS-$(LIBSWSCALE_A) += libswscale/libswscale.a
COMMON_LIBS += $(COMMON_LIBS-yes)
OBJS_COMMON += $(addsuffix .o, $(basename $(SRCS_COMMON)))
@@ -755,7 +755,7 @@ mplayer$(EXESUF): $(MPLAYER_DEPS)
$(CC) -o $@ $^ $(LDFLAGS_MPLAYER)
codec-cfg$(EXESUF): codec-cfg.c codec-cfg.h help_mp.h
- $(HOST_CC) -O -I. -Iffmpeg -DCODECS2HTML -o $@ $<
+ $(HOST_CC) -O -DCODECS2HTML $(EXTRA_INC) -Iffmpeg -o $@ $<
codecs.conf.h: codec-cfg$(EXESUF) etc/codecs.conf
./$^ > $@
diff --git a/TOOLS/dvd2divxscript.pl b/TOOLS/dvd2divxscript.pl
index eaf55bd7e7..3c9203905c 100755
--- a/TOOLS/dvd2divxscript.pl
+++ b/TOOLS/dvd2divxscript.pl
@@ -15,7 +15,7 @@
# This script is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
+# version 2.1 of the License, or (at your option) any later version.
#
# This script is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/configure b/configure
index 180e307255..94333f9346 100755
--- a/configure
+++ b/configure
@@ -293,10 +293,12 @@ Codecs:
--disable-libavcodec_a disable static libavcodec [autodetect]
--disable-libavformat_a disable static libavformat [autodetect]
--disable-libpostproc_a disable static libpostproc [autodetect]
+ --disable-libswscale_a disable static libswscale [autodetect]
--disable-libavutil_so disable shared libavutil [autodetect]
--disable-libavcodec_so disable shared libavcodec [autodetect]
--disable-libavformat_so disable shared libavformat [autodetect]
--disable-libpostproc_so disable shared libpostproc [autodetect]
+ --disable-libswscale_so disable shared libswscale [autodetect]
--disable-libavcodec_mpegaudio_hp disable high precision audio decoding
in libavcodec [enabled]
--disable-tremor-internal disable internal Tremor [enabled]
@@ -320,7 +322,8 @@ Codecs:
--enable-xmms enable XMMS input plugin support [disabled]
--enable-libdca enable libdca support [autodetect]
--disable-mp3lib disable builtin mp3lib [enabled]
- --disable-liba52 disable builtin liba52 [enabled]
+ --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]
@@ -517,6 +520,8 @@ _libavformat_a=auto
_libavformat_so=auto
_libpostproc_a=auto
_libpostproc_so=auto
+_libswscale_a=auto
+_libswscale_so=auto
_libavcodec_mpegaudio_hp=yes
_mencoder=yes
_mplayer=yes
@@ -574,7 +579,8 @@ _libvorbis=auto
_speex=auto
_theora=auto
_mp3lib=yes
-_liba52=yes
+_liba52=auto
+_liba52_internal=auto
_libdca=auto
_libmpeg2=auto
_faad=auto
@@ -938,6 +944,8 @@ for ac_option do
--disable-theora) _theora=no ;;
--enable-mp3lib) _mp3lib=yes ;;
--disable-mp3lib) _mp3lib=no ;;
+ --enable-liba52-internal) _liba52_internal=yes ;;
+ --disable-liba52-internal) _liba52_internal=no ;;
--enable-liba52) _liba52=yes ;;
--disable-liba52) _liba52=no ;;
--enable-libdca) _libdca=yes ;;
@@ -1082,6 +1090,10 @@ for ac_option do
--disable-libpostproc_a) _libpostproc_a=no ;;
--enable-libpostproc_so) _libpostproc_so=yes ;;
--disable-libpostproc_so) _libpostproc_so=no ;;
+ --enable-libswscale_a) _libswscale_a=yes ;;
+ --disable-libswscale_a) _libswscale_a=no ;;
+ --enable-libswscale_so) _libswscale_so=yes ;;
+ --disable-libswscale_so) _libswscale_so=no ;;
--enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp=yes ;;
--disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp=no ;;
@@ -1350,6 +1362,7 @@ if test "$_runtime_cpudetection" = yes && ! x86 && ! ppc; then
fi
+_inc_extra="$_inc_extra -I."
_timer=timer-linux.c
_getch=getch2.c
if freebsd ; then
@@ -6041,7 +6054,7 @@ EOF
done
if test "$_theora" = no && test "$_tremor_internal" = yes; then
for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora -logg"; do
- cc_check -I. tremor/bitwise.c $_ld_theora \
+ cc_check tremor/bitwise.c $_ld_theora \
&& _ld_extra="$_ld_extra $_ld_theora" && theora=yes && break
done
fi
@@ -6068,12 +6081,29 @@ else
fi
echores "$_mp3lib"
-echocheck "internal liba52 support"
+echocheck "liba52 support"
+_def_liba52='#undef CONFIG_LIBA52'
+_def_liba52_internal="#undef CONFIG_LIBA52_INTERNAL"
+if test "$_liba52_internal" = auto ; then
+ _liba52=yes
+ _liba52_internal=yes
+ _def_liba52_internal="#define CONFIG_LIBA52_INTERNAL 1"
+ _res_comment="internal"
+elif test "$_liba52_internal" = no && test "$_liba52" = auto ; then
+ _liba52=no
+ cat > $TMPC << EOF
+#include <inttypes.h>
+#include <a52dec/a52.h>
+int main(void) { a52_state_t *testHand; testHand=a52_init(0); return 0; }
+EOF
+ cc_check -la52 && _liba52=yes
+ _ld_extra="$_ld_extra -la52"
+ _res_comment="external"
+fi
if test "$_liba52" = yes ; then
_def_liba52='#define CONFIG_LIBA52 1'
- _codecmodules="liba52 $_codecmodules"
+ _codecmodules="liba52($_res_comment) $_codecmodules"
else
- _def_liba52='#undef CONFIG_LIBA52'
_nocodecmodules="liba52 $_nocodecmodules"
fi
echores "$_liba52"
@@ -6562,7 +6592,6 @@ if test "$_libpostproc_a" = auto ; then
elif test "$_libpostproc_so" = auto ; then
_libpostproc_so=no
cat > $TMPC << EOF
- #define CONFIG_LIBPOSTPROC 1
#include <inttypes.h>
#include <libpostproc/postprocess.h>
int main(void) { pp_get_mode_by_name_and_quality("de", 0); return 0; }
@@ -6584,6 +6613,40 @@ test "$_libpostproc_so" = yes \
&& _def_libpostproc_so='#define CONFIG_LIBPOSTPROC_SO 1'
echores "$_libpostproc"
+echocheck "FFmpeg libswscale"
+if test "$_libswscale_a" = auto ; then
+ _libswscale_a=no
+ if test -d libswscale && test -f libswscale/swscale.h ; then
+ _libswscale_a='yes'
+ _res_comment="static"
+ fi
+elif test "$_libswscale_so" = auto ; then
+ _libswscale_so=no
+ _res_comment="using libswscale.so, but static libswscale is recommended"
+ cat > $TMPC << EOF
+ #include <libswscale/swscale.h>
+ 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`
+ cc_check $_inc_libswscale $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
+ && _libswscale_so=yes
+ elif cc_check -lswscale ; then
+ _ld_extra="$_ld_extra -lswscale"
+ _libswscale_so=yes
+ fi
+fi
+_libswscale=no
+_def_libswscale='#undef CONFIG_LIBSWSCALE'
+_def_libswscale_a='#undef CONFIG_LIBSWSCALE_A'
+_def_libswscale_so='#undef CONFIG_LIBSWSCALE_SO'
+test "$_libswscale_a" = yes || test "$_libswscale_so" = yes && _libswscale=yes
+test "$_libswscale" = yes && _def_libswscale='#define CONFIG_LIBSWSCALE 1'
+test "$_libswscale_a" = yes && _def_libswscale_a='#define CONFIG_LIBSWSCALE_A 1'
+test "$_libswscale_so" = yes \
+ && _def_libswscale_so='#define CONFIG_LIBSWSCALE_SO 1'
+echores "$_libswscale"
echocheck "libamr narrowband"
if test "$_libamr_nb" = auto ; then
@@ -7738,6 +7801,8 @@ if test "$_largefiles" = yes || freebsd ; then
fi
fi
+CXXFLAGS=" $CFLAGS -Iffmpeg -D__STDC_LIMIT_MACROS"
+
cat > $TMPC << EOF
int main(void) { return 0; }
EOF
@@ -7748,8 +7813,7 @@ if test "$cc_vendor" = "gnu" ; then
fi
CFLAGS_FFMPEG="-I../.. $CFLAGS"
-CFLAGS="-I. -Iffmpeg $CFLAGS"
-CXXFLAGS=" $CFLAGS -D__STDC_LIMIT_MACROS"
+CFLAGS="-Iffmpeg $CFLAGS"
cc_check -mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer="-mno-omit-leaf-frame-pointer"
@@ -7825,6 +7889,7 @@ MPLAYER = $_mplayer
#internal libraries
LIBA52 = $_liba52
+LIBA52_INTERNAL = $_liba52_internal
LIBMPEG2 = $_libmpeg2
MP3LIB = $_mp3lib
TREMOR_INTERNAL = $_tremor_internal
@@ -7953,6 +8018,9 @@ LIBAVFORMAT_SO = $_libavformat_so
LIBPOSTPROC = $_libpostproc
LIBPOSTPROC_A = $_libpostproc_a
LIBPOSTPROC_SO = $_libpostproc_so
+LIBSWSCALE = $_libswscale
+LIBSWSCALE_A = $_libswscale_a
+LIBSWSCALE_SO = $_libswscale_so
BUILD_STATIC=yes
SRC_PATH=..
@@ -8322,6 +8390,10 @@ $_def_libavutil
$_def_libavutil_a
$_def_libavutil_so
+$_def_libswscale
+$_def_libswscale_a
+$_def_libswscale_so
+
/* Use libavcodec's decoders */
#define CONFIG_DECODERS 1
#define ENABLE_DECODERS 1
@@ -8368,6 +8440,9 @@ $_def_xvid_lavc
/* Use codec libs included in mplayer CVS / source dist: */
$_def_mp3lib
+
+/* enable liba52 support */
+$_def_liba52_internal
$_def_liba52
$_def_libmpeg2
diff --git a/cpudetect.c b/cpudetect.c
index 7faa4e7c77..8ec1adefaa 100644
--- a/cpudetect.c
+++ b/cpudetect.c
@@ -382,25 +382,15 @@ static void check_os_katmai_support( void )
mp_msg(MSGT_CPUDETECT,MSGL_V, "Testing OS support for SSE... " );
ret = sysctl(mib, 2, &has_sse, &varlen, NULL, 0);
- if (ret < 0 || !has_sse) {
- gCpuCaps.hasSSE=0;
- mp_msg(MSGT_CPUDETECT,MSGL_V, "no!\n" );
- } else {
- gCpuCaps.hasSSE=1;
- mp_msg(MSGT_CPUDETECT,MSGL_V, "yes!\n" );
- }
+ gCpuCaps.hasSSE = ret >= 0 && has_sse;
+ mp_msg(MSGT_CPUDETECT,MSGL_V, gCpuCaps.hasSSE ? "yes.\n" : "no!\n" );
mib[1] = CPU_SSE2;
varlen = sizeof(has_sse2);
mp_msg(MSGT_CPUDETECT,MSGL_V, "Testing OS support for SSE2... " );
ret = sysctl(mib, 2, &has_sse2, &varlen, NULL, 0);
- if (ret < 0 || !has_sse2) {
- gCpuCaps.hasSSE2=0;
- mp_msg(MSGT_CPUDETECT,MSGL_V, "no!\n" );
- } else {
- gCpuCaps.hasSSE2=1;
- mp_msg(MSGT_CPUDETECT,MSGL_V, "yes!\n" );
- }
+ gCpuCaps.hasSSE2 = ret >= 0 && has_sse2;
+ mp_msg(MSGT_CPUDETECT,MSGL_V, gCpuCaps.hasSSE2 ? "yes.\n" : "no!\n" );
#else
gCpuCaps.hasSSE = 0;
mp_msg(MSGT_CPUDETECT,MSGL_WARN, "No OS support for SSE, disabling to be safe.\n" );
@@ -412,8 +402,7 @@ static void check_os_katmai_support( void )
exc_fil = SetUnhandledExceptionFilter(win32_sig_handler_sse);
__asm __volatile ("xorps %xmm0, %xmm0");
SetUnhandledExceptionFilter(exc_fil);
- if ( gCpuCaps.hasSSE ) mp_msg(MSGT_CPUDETECT,MSGL_V, "yes.\n" );
- else mp_msg(MSGT_CPUDETECT,MSGL_V, "no!\n" );
+ mp_msg(MSGT_CPUDETECT,MSGL_V, gCpuCaps.hasSSE ? "yes.\n" : "no!\n" );
}
#elif defined(__OS2__)
EXCEPTIONREGISTRATIONRECORD RegRec = { 0, &os2_sig_handler_sse };
@@ -422,8 +411,7 @@ static void check_os_katmai_support( void )
DosSetExceptionHandler( &RegRec );
__asm __volatile ("xorps %xmm0, %xmm0");