summaryrefslogtreecommitdiffstats
path: root/old-configure
Commit message (Collapse)AuthorAgeFilesLines
* build: disable terminfo and termcap code by defaultwm42014-08-211-2/+2
| | | | If nobody complains soon enough, I will remove the code completely.
* x11: listen to xrandr eventswm42014-08-171-1/+1
| | | | | | | | | | | If the Xrandr configuration changes, re-read it. So if you change display modes or screen configuration, it will update the framedrop refresh rate accordingly. This passes the rootwin to XRRSelectInput(), which may or may not be allowed. But it works, and the documentation (which is worse than used toilet paper, great job Xorg) doesn't forbid it, or in fact say anything about what the window parameter is even used for.
* build: drop check for XF86keysym.hwm42014-08-161-6/+0
| | | | | | This is always included in the Xorg development headers. Strictly speaking it's not necessarily available with other X implementations, but these are hopefully all dead.
* x11: use xrandr to retrieve display refresh ratewm42014-08-161-3/+2
| | | | | | | | | | | | | | | | | Drop use of the ancient XF86VM, and use the slightly less ancient Xrandr extension to retrieve the refresh rate. Xrandr has the advantage that it supports multiple monitors (at least the modern version of it). For now, we don't attempt any dynamic reconfiguration. We don't request and listen to Xrandr events, and we don't notify the VO code of changes in the refresh rate. (The later works by assuming that X coordinates map directly to Xrandr coordinates, which probably is wrong with compositing window manager, at least if these use complicated transformations. But I know of no API to handle this.) It would be nice to drop use of the Xinerama extension too, but unfortunately, at least one EWMH feature uses Xinerama screen numbers, and I don't know how that maps to Xrandr outputs.
* demux_lavf: support new metadata update APIwm42014-08-141-0/+6
| | | | | This Libav-invented API is of course completely different from the FFmpeg-one. (The fun part is that I approved of both.)
* old-build: HAVE_COCOA_APPLICATION must be setwm42014-08-061-0/+1
| | | | Also fix a typo in the Makefile manpage rule.
* ao_pulse: remove hacks for ancient PulseAudio versionswm42014-07-261-1/+1
| | | | | | | | | | | This was needed by very old (0.9) versions only. Get rid of it. Unfortunately, I can't cross-check with the original bug report, since the bug URL leads to this: Internal Server Error TracError: IOError: [Errno 2] No such file or directory: '/home/lennart/svn/trac/pulseaudio/VERSION'
* Revert "Remove DVD and Bluray support"wm42014-07-151-0/+10
| | | | | | This reverts commit 4b93210e0c244a65ef10a566abed2ad25ecaf9a1. *shrug*
* Remove DVD and Bluray supportwm42014-07-141-10/+0
| | | | It never worked well. Just remux your DVD and BD images to mkv.
* old-configure: fix Lua testswm42014-07-071-1/+2
| | | | This added every Lua that was found on the system.
* video: Add BT.2020-NCL colorspace and transfer functionNiklas Haas2014-06-221-0/+6
| | | | Source: http://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.2020-0-201208-I!!PDF-E.pdf
* build: check for 64bit stdatomic.h operations tooAlessandro Ghedini2014-06-171-1/+2
| | | | | This fixes the build on platform where the atomic calls can't be turned into lock-free instructions and thus need the external libatomic library (e.g. mips).
* gl_lcms: use thread-safe lcms API, require lcms2 2.6wm42014-06-161-1/+1
| | | | | | | | | | | | | | The error log callback was not thread-safe and not library-safe. And apparently there were some other details that made it not library-safe, such as a global lcms plugin registry. Switch the the thread-safe API provided by lcms2 starting with 2.6. Remove our approximate thread-safety hacks. Note that lcms basically provides 2 APIs now, the old functions, and the thread-safe alternatives whose names end with THR. Some functions don't change, because they already have a context of some sort. Care must be taken not to accidentally use old APIs.
* demux_lavf: support new rotation metadata APIwm42014-06-011-0/+6
|
* stream: remove VCD supportwm42014-06-011-3/+0
| | | | | | | | | If a single person complains, I will readd it. But I don't expect that this will happen. The main reason for removing this is that it's some of the most unclean code remaining, it's unmaintained, and I've never ever heard of someone using it.
* tv: remove sysinfo() usagewm42014-05-301-3/+0
| | | | | | This call was used limited the buffer size if installed RAM was below 16 MB. This stopped being useful a decade ago. The check could also overflow on 32 bit systems. Just get rid of it.
* stream_file: readjust some windows ifdefferywm42014-05-241-1/+0
| | | | | | | | | | Also sneak in some cosmetics. setmode() exists on Windows/msvcrt only, so there's no need for a config test. I couldn't reproduce the problem with seekable pipes on wine, so axe it. (I'm aware that it still could be an issue on real Windows.)
* old-build: fix building with libquvi4wm42014-05-231-1/+1
|
* old-configure: we accidentally used bash featureswm42014-05-221-3/+11
| | | | | | | | | In at least 2 places, we want to "shift" positional parameters by a certain amount, or remove all parameters if there are fewer parameters. bash handled this just fine, but dash vomits upon it. POSIX shell allows both behaviors, so we have to fix it. Fix a comparison done with "==" instead of "=".
* atomics: switch to C11 stdatomic.hwm42014-05-211-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | In my opinion, we shouldn't use atomics at all, but ok. This switches the mpv code to use C11 stdatomic.h, and for compilers that don't support stdatomic.h yet, we emulate the subset used by mpv using the builtins commonly provided by gcc and clang. This supersedes an earlier similar attempt by Kovensky. That attempt unfortunately relied on a big copypasted freebsd header (which also depended on much more highly compiler-specific functionality, defined reserved symbols, etc.), so it had to be NIH'ed. Some issues: - C11 says default initialization of atomics "produces a valid state", but it's not sure whether the stored value is really 0. But we rely on this. - I'm pretty sure our use of the __atomic... builtins is/was incorrect. We don't use atomic load/store intrinsics, and access stuff directly. - Our wrapper actually does stricter typechecking than the stdatomic.h implementation by gcc 4.9. We make the atomic types incompatible with normal types by wrapping them into structs. (The FreeBSD wrapper does the same.) - I couldn't test on MinGW.
* old-build: accidental rewritewm42014-05-141-1993/+467
| | | | | | | | | | | | | This started as a bunch of smaller changes to make the old configure script maintainable with minimum effort. It ended up as complete rewrite, because at once point I started to like shell programming (I hope this sickness is curable), and I wanted to see how small I can make the configure script. The typical configure test is now 1 or 2 lines big, located in 1 or 2 places, instead of >15 lines and being spread over 5 or 6 places. The main "trick" is factoring the tests into a few generic, commonly needed tests, instead of writing everything manually.
* old-build: drop support for anything but Linux, simplifywm42014-05-141-807/+48
| | | | | | | | | | | | | A lot of effort was spent on making the waf based build-system work properly on all supported platforms, while the old configure script was neglected. It seems that nobody maintains the non-Linux parts of the configure script anymore, and all improvements go into the waf scripts. Thus it makes no sense anymore to maintain the non-Linux parts. They're just dead weight. Remove them completely. Also apply some additional simplifications. For example, listing enabled/disabled VO modules seems like a waste of effort.
* old-build: define a new symbolwm42014-05-131-0/+1
| | | | | | | waf has a proper test, but no test was added to old-configure. This means that on OSX, old-configure is not supposed to work anymore. But still allow it to compile cleanly on OSX.
* Remove CPU detection and inline asm handlingwm42014-04-191-251/+2
| | | | | | | | | | | | | | Not needed anymore. I'm not opposed to having asm, but inline asm is too much of a pain, and it was planned long ago to eventually get rid fo all inline asm uses. For the note, the inline asm use that was removed with the previous commits was almost worthless. It was confined to video filters, and most video filtering is now done with libavfilter. Some mpv filters (like vf_pullup) actually redirect to libavfilter if possible. If asm is added in the future, it should happen in the form of external files.
* Remove radio://wm42014-04-131-58/+0
| | | | | It was disabled by default, works only for analogue radio, and I bet nobody uses it.
* vf_lavfi: copy AVFrame metadata into vf_lavfi privKevin Mitchell2014-04-131-0/+12
| | | | | | | | store it as mp_tas and add VFCTRL_GET_METADATA to access it from elsewhere Signed-off-by: wm4 <wm4@nowhere> old-configure test by wm4.
* video: add VapourSynth filter bridgewm42014-04-121-0/+21
| | | | | | | | | | | | Mainly meant to apply simple VapourSynth filters to video at runtime. This has various restrictions, which are listed in the manpage. Additionally, this actually copies video frames when converting frame references from mpv to VapourSynth, and a second time when going from VapourSynth to mpv. This is inefficient and could probably be easily improved. But for now, this is simpler, and in fact I'm not sure if we even can references VapourSynth frames after the core has been destroyed.
* build: add -Wempty-body to compiler flagswm42014-04-041-2/+2
| | | | Warns against "if(0);" but not "if(0){}" - perfect for our purposes.
* build: check if replaygain side data is availableAlessandro Ghedini2014-04-041-0/+12
| | | | | | Signed-off-by: wm4 <wm4@nowhere> old-configure change by wm4.
* build: simplify libavfilter configure checkswm42014-03-161-59/+2
| | | | | This is all not needed anymore. In particular, remove all configure switches except --enable-libavfilter.
* af_lavrresample: remove avresample_set_channel_mapping() fallbackswm42014-03-161-14/+0
| | | | | | | This function is now always available. Also remove includes of reorder_ch.h from some AOs (these are just old relicts).
* vd_lavc: remove compatibility crapwm42014-03-161-58/+7
| | | | | | | All this code was needed for compatibility with very old libavcodec versions only (such as Libav 9). Includes some now-possible simplifications too.
* build: drop support for Libav 9wm42014-03-161-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I have no tolerance for this garbage anymore. There are tons of issues with it (see e.g. previous commit), and there is no reason to use it either. Use Libav git, or Libav 10 when it's released. This also drops support for earlier FFmpeg release, which have exactly the same issues as Libav 9. FFmpeg 2.1.4 is still supported, because it's the latest release, and is reasonably recent. (Although this will probably also be dropped as soon as FFmpeg 2.2 is released.) Assumed version table (lots of nonsensical numbers): FFmpeg 2.1.4 FFmpeg (n2.2-rc2) Libav (v10_beta2) lavu 52.48.101 52.66.100 53.3.0 lavc 55.39.101 55.52.102 55.34.1 lavf 55.19.104 55.33.100 55.12.0 lsws 2.5.101 2.5.101 2.1.2 lavi 3.90.100 4.2.100 4.2.0 lswr 0.17.104 0.18.100 - lavr 1.1.0 1.2.0 1.1.0 libpostproc and libavdevice are not interesting. Following this commit, code needed just to support old Libav versions will start to be removed.
* af_lavfi: beat it into working with Libavwm42014-03-131-11/+1
| | | | | | | | | | | | | | | | | | | The main incompatibility was that Libav didn't have av_opt_set_int_list. But since that function is excessively ugly and idiotic (look how it handles types), I'm not missing it much. Use an aformat filter instead to handle the functionality that was indirectly provided by it. This is similar to how vf_lavfi works. The other incompatibility was channel handling. Libav consistently uses channel layouts only, why ffmpeg still requires messing with channel counts to some degree. Get rid of most channel count uses (and hope channel layouts are "exact" enough). Only in one case FFmpeg fails with a runtime check if we feed it AVFrames with channel count unset. Another issue were AVFrame accessor functions. FFmpeg introduced these for ABI compatibility with Libav. I refuse to use them, and it's not my problem if FFmpeg doesn't manage to provide a stable ABI for fields provided both by FFmpeg and Libav.
* stream_file: network file system detection for LinuxPhilip Sequeira2014-03-121-0/+1
| | | | | | Addresses issue #558 on Linux systems. Signed-off-by: wm4 <wm4@nowhere>
* old build: add a missing config.h definewm42014-02-231-0/+2
| | | | The configure check was added to waf only.
* demux_lavf: get updated metadata from a packet if availableBen Boeckel2014-02-061-0/+12
| | | | The side_data type is brand new in ffmpeg.
* old-configure: use -std=c99wm42014-02-021-2/+2
| | | | See previous commit.
* build: fix usage of HAVE_SDL1 defineStefano Pigozzi2014-01-251-3/+3
| | | | This is needed after fd1f8ed49.
* Switch PDF manual generation to rst2pdfMartin Herkt2014-01-081-8/+8
| | | | | | | This finally gets rid of the LaTeX dependency. We should actually be using docultils directly here, but I didn't do this because of all the potential Python 2/3 breakage.
* build: fix typoStefano Pigozzi2014-01-011-1/+1
|
* build: make configure fail if both __atomic and __sync are not availableStefano Pigozzi2014-01-011-0/+18
|
* build: check for libatomic and __atomic operationsAlessandro Ghedini2013-12-311-0/+16
| | | | | | Add check in old-configure as well. Reformat the check to use a maximum of 80 columns in the wscript. Signed-off-by: Stefano Pigozzi <stefano.pigozzi@gmail.com>
* build: fix shm detection on OpenBSDStefano Pigozzi2013-12-261-1/+12
| | | | Fixes #427
* Rename getch2....c/h to terminal....c/hwm42013-12-191-2/+2
| | | | | "getch2" really tells nothing about what the heck this code does. It'd be even worse when moving the rest of terminal handling code there.
* input: remove LIRCCD supportwm42013-12-161-18/+0
| | | | | | | This removes support for the "LIRC Client Daemon", which is separate from LIRC, and hasn't been maintained for 10 years. See github issue #413.
* Add prelimimary (basic, possibly broken) dvdnav supportwm42013-12-121-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | This readds a more or less completely new dvdnav implementation, though it's based on the code from before commit 41fbcee. Note that this is rather basic, and might be broken or not quite usable in many cases. Most importantly, navigation highlights are not correctly implemented. This would require changes in the FFmpeg dvdsub decoder (to apply a different internal CLUT), so supporting it is not really possible right now. And in fact, I don't think I ever want to support it, because it's a very small gain for a lot of work. Instead, mpv will display fake highlights, which are an approximate bounding box around the real highlights. Some things like mouse input or switching audio/subtitles stream using the dvdnav VM are not supported. Might be quite fragile on transitions: if dvdnav initiates a transition, and doesn't give us enough mpeg data to initialize video playback, the player will just quit. This is added only because some users seem to want it. I don't intend to make mpv a good DVD player, so the very basic minimum will have to do. How about you just convert your DVD to proper video files?
* vo_opengl: support for vda hardware decodingStefano Pigozzi2013-12-021-0/+13
| | | | | | | | | | | The harder work was done in the previous commits. After that this feature comes out almost for free. The only problem is I can't get the textures created with CGLTexImageIOSurface2D to download properly, thus the code performs download using some CoreVideo APIs. If someone knows why download of textures created with CGLTexImageIOSurface2D doesn't work please contact me :)
* build: reject broken roaraudio sndio emulationwm42013-12-021-1/+1
| | | | | | | | roaraudio has some sort of sndio emulation, but apparently its header file is either blatantly broken, or an old version from the past. The sio_onvol() function has the wrong return type (void instead of int), and the SIO_DEVANY symbol is missing entirely. This broke the build, because the configure check was successful anyway.
* old-configure: delete pre-waf config.h and config.makwm42013-11-301-0/+4
|
* build: add options for enabling and disabling any libquvi versionsNikoli2013-11-291-9/+5
| | | | Makes packaging a bit simpler.
* Take care of some libavutil deprecations, drop support for FFmpeg 1.0wm42013-11-291-1/+1
| | | | | | | | | | | | | | PIX_FMT_* -> AV_PIX_FMT_* (except some pixdesc constants) enum PixelFormat -> enum AVPixelFormat Losen some version checks in certain newer pixel formats. av_pix_fmt_descriptors -> av_pix_fmt_desc_get This removes support for FFmpeg 1.0.x, which is even older than Libav 9.x. Support for it probably was already broken, and its libswresample was rejected by our build system anyway because it's broken. Mostly untested; it does compile with Libav 9.9.
* build: make pthreads mandatorywm42013-11-281-0/+4
| | | | | | | | | | | pthreads should be available anywhere. Even if not, for environment without threads a pthread wrapper could be provided that can't actually start threads, thus disabling features that require threads. Make pthreads mandatory in order to simplify build dependencies and to reduce ifdeffery. (Admittedly, there wasn't much complexity, but maybe we will use pthreads more in the future, and then it'd become a real bother.)
* old-build: fix iconv check on openbsdStefano Pigozzi2013-11-271-1/+1
|
* switch the build system to wafStefano Pigozzi2013-11-211-0/+3573
This commit adds a new build system based on waf. configure and Makefile are deprecated effective immediately and someday in the future they will be removed (they are still available by running ./old-configure). You can find how the choice for waf came to be in `DOCS/waf-buildsystem.rst`. TL;DR: we couldn't get the same level of abstraction and customization with other build systems we tried (CMake and autotools). For guidance on how to build the software now, take a look at README.md and the cross compilation guide. CREDITS: This is a squash of ~250 commits. Some of them are not by me, so here is the deserved attribution: - @wm4 contributed some Windows fixes, renamed configure to old-configure and contributed to the bootstrap script. Also, GNU/Linux testing. - @lachs0r contributed some Windows fixes and the bootstrap script. - @Nikoli contributed a lot of testing and discovered many bugs. - @CrimsonVoid contributed changes to the bootstrap script.