Add native Cocoa code to display an OpenGL window. Some of the code is
based on the OpenGL parts of vo_corevideo but I took the time to remove
old code based on Carbon.
There is autodetection in the configure script but you can use
--enable[disable]-cocoa to enable[disable] this.
Something like the OSD menu functionality could be useful. However the
current implementation has several problems and would require a
relatively large amount of work to get into good shape. As far as I
know there are few users of the existing functionality. Nobody is
working on the existing code and keeping it compiling at all while
changing other code would require extra work. So delete the menu code
and some related code elsewhere that's used by nothing else.
Delete the vo_gl2 and vo_matrixview implementations.
vo_gl2 was barely useful anymore. It was a hack based on an old
vo_gl.c version, and all it did differently was rendering the video in
tiles instead of using a single texture. That made it work with some
crappy OpenGL implementations. These days all GPUs support textures of
at least 2048x2048 pixels, which is enough for HD playback. On the
other hand, gl2 suffered from various bugs and deficiencies, all of
which are fixed in gl. Its existence also confused users; many thought
that gl2 is the next version of gl and attempted to use it, even
though it's much worse than gl and they should have used that instead.
Should it turn out that tiling is actually useful, it should be
implemented in vo_gl, instead of keeping vo_gl2 alive.
vo_matrixview was a toy that couldn't even properly display a video.
All it did was display a screensaver-like animation that showed "a
Matrix-like running-text effect". (mplayer is not a screensaver.)
Codec selection for audio and video decoding had a "dynamic plugin"
feature that tried to load a shared library for any codec that had not
been enabled at compilation (disabled by default, but could be enabled
with --enable-dynamic-plugins configure switch; for unknown reasons
some distro packages have enabled it). The implementation was buggy
and could cause normal codec selection fallback to fail if the feature
was enabled. I'm not aware of any real uses of such dynamic plugins
and the feature seems questionable anyway (there are no ABI guarantees
that would make it safe to use). Remove the buggy feature.
Use the "--print-errors" flag of pkg-config when testing for the
presence of Libav libraries. Even though the error output is a bit
messy (printed on the same "Checking for"... line), it does contain
useful information for this test which checks for several libraries at
once.
Also change the test name from "FFmpeg" to "Libav" and rename the
option from --disable-ffmpeg to --disable-libav. The change should
cause no compatibility problems as the option is very rarely used.
Before there was no attempt to set warning flags sanely when compiling
with clang. Set some reasonable defaults that cut down noise and
enable various non-default warnings that are enabled with GCC too.
I'm not sure whether clang is supposed to support more of the options
now used with GCC - it accepts some of those options but they
apparently have no effect; I didn't find any real documentation about
the individual warnings.
The name of the project is "libass". "ASS" alone refers only to the
subtitle format, not the library, and --disable-ass did not completely
disable handling of subtitles in this format - only advanced rendering
with libass. Thus --disable-libass is a better name.
Do a proper calculation of free RAM to be used as V4L buffers.
The code uses sysinfo to query the available RAM, however it used
ancient form available in some early development 2.3.x kernels.
Newer form reports the size in memory units (usually same as page size),
as result the code would fall back on 2 buffers even on multi GB system.
The commit does: Improve the check in configure to ensure that we
do use sysinfo struct with present mem_unit. Use free RAM instead of
total RAM (to avoid swapping). Tweak memory constants and simplify code.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33732 b3059339-0415-0410-9bf9-f77b7e298cf2
Fix "sse in cpuinfo implies mmxext" hack to still work when
--disable-sse is used.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33714 b3059339-0415-0410-9bf9-f77b7e298cf2
Add -Werror-implicit-function-declaration to the default compiled
flags used with GCC. Add the option through a new variable ERRORFLAGS
instead of the existing WARNFLAGS to avoid using it in configure
tests. I think it's overall preferable not to fail tests because of
the warning - in some case this could cause a compilation failure
later, but on the other hand it could be just an unreliable test
triggering the warning and even if it does fail those are likely cases
worth closer investigation.
Only set NEED_GLOB on Windows, as currently this has the effect of
compiling win32-only code - and even if that compiled it would not be
used anyway, since mf.c uses glob under "#if defined(HAVE_GLOB) ||
defined(__MINGW32__)".
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33587 b3059339-0415-0410-9bf9-f77b7e298cf2
Set host_cc after cross-compile check. This allows to set "cc" as a
more sensible, almost always working default when cross-compiling
instead of using the cross-compiler as host-cc which is just
nonsense.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33580 b3059339-0415-0410-9bf9-f77b7e298cf2
Fix _libcdio staying on "auto" if cdparanoia test succeeded before.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33555 b3059339-0415-0410-9bf9-f77b7e298cf2
Make features depending on X check its availability at their
individual checks rather than having the X11 check disable them if
needed. This makes each individual feature check self-contained, which
is desirable.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33371 b3059339-0415-0410-9bf9-f77b7e298cf2
Remove checks for compiler support of >= 10 assembler operands and
named assembler arguments. Just assume the features are always
available. These features were only missing from obsolete GCC versions
which are not supported any more.
Due to libavcodec changes vo_xvmc would have needed some modifications
to keep working. However, I think there's little real demand for XvMC,
so I'll just drop XvMC support. XvMC only supported MPEG-2, making it
of very limited usefulness nowadays, plus the vo_xvmc implementation
was not high quality and never worked particularly well or reliably
anyway.
Change the behavior of the iconv, freetype, fontconfig and libass
tests when autodetection fails. They now abort instead of silently
creating a crippled build. Users who really want to build without
those features can use explicit --disable flags.
If --enable-3dfx is specified but dga is not available then 3dfx is
disabled nonetheless. However, this disabling is not done properly,
and libvo/vo_3dfx.c is still compiled (but cannot be used). Fix.
The behavior of automatically disabling vo_3dfx despite --enable-3dfx
is itself questionable, but I'm not changing that now.
Remove --with-glib-config, --with-gtk-config, --enable-gui,
--disable-gui, --enable-gtk1, --disable-gtk1. The only one of these
that still had any effect was --enable-gui which printed a warning
about GUI removal and exited. The --with options were still shown in
help output, the rest had already been deleted from that.
Delete mp3lib which has been the default mp3 decoder until now. In
addition to being an unnecessary embedded library it now fails to
compile correctly with the new gcc-4.6, producing noise.
After the deletion the default decoder priority for mp3 will be first
libmpg123 (a newer version of the code that mp3lib was based on) if
available, then ffmp3float which should be available in all normal
compiles. I think that some tweaking may be required as these decoder
alternatives get wider testing, but any problems should be solvable
and there should be no need for mp3lib.
Windows pthreads requires certain functions to be called to initialize
itself. It can do that through DllMain but no such luck when linked
statically; mplayer needs to call the initialization explicitly.
As things currently are the --ffmpeg-source-dir option will cause a
compilation failure. Maybe the video filters that depend on internal
FFmpeg headers to work should be deleted completely; for now I'll
remove the option from the help output as it can only confuse normal
users.
Force Makefile to always run version.sh to potentially regenerate
version.h. Drop compiler version and 'git-' prefix from version
number. Match only git tags starting 'v'+number when generating
version number; leave the 'v' out from the result.
Disable libmpcdec (musepack) support by default, FFmpeg has a decoder
that works better for us and is used by default.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32826 b3059339-0415-0410-9bf9-f77b7e298cf2
configure had a check for some libraries specific to the maemo
platform. Apparently the code which would have used the results of
this check was never added. Remove the unused check.
Previously the default with --enable-translation was to install all
language files if --language-msg was not explicitly specified. Change
the default to the languages set with the --language option or LINGUAS
environment variable if those are set; if neither is set then the
default is still to install all message languages.
Abort if FFmpeg libraries are not found unless --disable-ffmpeg was
explicitly specified. Note that even if you disable FFmpeg, libavutil
and libswscale are still required and you'll need to add linker flags
for them manually; I didn't try to clean up that case (few people
will want to do that).
Also fix the fallback test used if pkg-config doesn't find the
libraries: fix wrong header name and drop forced -lavcore which isn't
present in all FFmpeg versions. This shouldn't make a difference for
normal use since the pkg-config test should succeed if the libraries
are available.
libvorbis and libvorbisidec cannot both be enabled at the same time.
Change configure to enable libvorbis by default if both are
available. It's the more common library, and if someone want to do a
special build for FPU-less systems he can select the library
manually.
Drop internal copy of the tremor library. Note that the internal ogg
demuxer (which is still sometimes useful to work around libavformat
ogg demuxer problems, though it's itself quite buggy) now cannot be
compiled without either external libvorbis or libvorbisidec (tremor).
There were multiple files specific to Zoran support, and they also
depended on internal FFmpeg headers (so it would probably have been
hard to get them to compile now even if you tried). It's obsolete now,
so just drop the whole mess.
dxr2 support had been broken quite a while and nobody noticed. There
were finally commits to fix it in the svn repo, but rather than apply
those I'll just drop dxr2 support.