aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* options: add M_OPT_FILE to --input-confGravatar Philip Sequeira2015-03-31
| | | | | Someday I'll look through all the options and find whatever else is missing it...
* TOOLS/zsh.pl: cosmeticsGravatar Philip Sequeira2015-03-31
|
* build: fix building with spaces in pathGravatar Philip Sequeira2015-03-31
|
* TOOLS/zsh.pl: use --no-config when calling mpvGravatar Philip Sequeira2015-03-31
|
* vdpau: fix preemption handlingGravatar Dan Oscarsson2015-03-31
| | | | Signed-off-by: wm4 <wm4@nowhere>
* ao/wasapi: add ao hotplugGravatar Kevin Mitchell2015-03-31
| | | | | | | Create a second copy of the change_notify structure for the hotplug ao. change_notify->is_hotplug distinguishes the hotplug version from the regular one monitoring the currently playing ao. Also make the change notification less verbose now that there might be two of them around.
* manpage: correct option minchn->minch for lavcac3encGravatar Kevin Mitchell2015-03-30
|
* manpage: clarify global config file locationGravatar wm42015-03-31
| | | | (Stupid Unix conventions.)
* options: make --video-rotate use range 0-360Gravatar wm42015-03-31
| | | | | Include 360 in the range and don't stop at 359. This makes cycling through the range in 90° steps less awkward.
* video/out: remove unused colorspace reportingGravatar wm42015-03-31
| | | | | | | | Rarely used and essentially useless. The only VO for which this was implemented correctly and for which this did anything was vo_xv, but you shouldn't use vo_xv anyway (plus it support BT.601 only, plus a vendor specific extension for BT.709, whose presence this function essentially reported - use xvinfo instead).
* video: move colorspace overrides to vf_format, simplifyGravatar wm42015-03-31
| | | | | | | | | | | | | | | | | | | Remove the colorspace-related top-level options, add them to vf_format. They are rather obscure and not needed often, so it's better to get them out of the way. In particular, this gets rid of the semi-complicated logic in command.c (most of which was needed for OSD display and the direct feedback from the VO). It removes the duplicated color-related name mappings. This removes the ability to write the colormatrix and related properties. Since filters can be changed at runtime, there's no loss of functionality, except that you can't cycle automatically through the color constants anymore (but who needs to do this). This also changes the type of the mp_csp_names and related variables, so they can directly be used with OPT_CHOICE. This probably ended up a bit awkward, for the sake of not adding a new option type which would have used the previous format.
* vf_format: don't crash if nonsense parameters are passedGravatar wm42015-03-31
| | | | | | | It was "by design" possible to make mpv crash if the parameters didn't make enough sense, like "format=rgb24:yuv420p". While forcing the format has some minor (rather questionable) use for debugging, allowing it to crash is just stupid.
* vf_format: by default, pass through video without changeGravatar wm42015-03-31
| | | | | | Instead of forcing a useless format (packed YUV??) by default. Also cleanup.
* csputils: unify names for colorspace/etc. namesGravatar wm42015-03-31
|
* build: make posix_spawn() mandatoryGravatar wm42015-03-30
| | | | | | | It was already accidentally used unconditionally by command.c. Apparently this worked well for us, so don't change anything about, but should it be unavailable, fail at configure time instead of compile time.
* ad_lavc: disable AC3 DRC by defaultGravatar wm42015-03-30
|
* RPI supportGravatar wm42015-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This requires FFmpeg git master for accelerated hardware decoding. Keep in mind that FFmpeg must be compiled with --enable-mmal. Libav will also work. Most things work. Screenshots don't work with accelerated/opaque decoding (except using full window screenshot mode). Subtitles are very slow - even simple but huge overlays can cause frame drops. This always uses fullscreen mode. It uses dispmanx and mmal directly, and there are no window managers or anything on this level. vo_opengl also kind of works, but is pretty useless and slow. It can't use opaque hardware decoding (copy back can be used by forcing the option --vd=lavc:h264_mmal). Keep in mind that the dispmanx backend is preferred over the X11 ones in case you're trying on X11; but X11 is even more useless on RPI. This doesn't correctly reject extended h264 profiles and thus doesn't fallback to software decoding. The hw supports only up to the high profile, and will e.g. return garbage for Hi10P video. This sets a precedent of enabling hw decoding by default, but only if RPI support is compiled (which most hopefully it will be disabled on desktop Linux platforms). While it's more or less required to use hw decoding on the weak RPI, it causes more problems than it solves on real platforms (Linux has the Intel GPU problem, OSX still has some cases with broken decoding.) So I can live with this compromise of having different defaults depending on the platform. Raspberry Pi 2 is required. This wasn't tested on the original RPI, though at least decoding itself seems to work (but full playback was not tested).
* parse_commandline: fail gracefully on bad argsGravatar wd02015-03-29
| | | | | | Args of zero length (i.e. --=) now display a proper error message. Signed-off-by: wm4 <wm4@nowhere>
* m_config: remove assertion for option names with length 0Gravatar wm42015-03-29
| | | | | | | | | There's actually no reason why we should assert. It's unexpected and "should" not happen, but actually there are several ways to make it happen. Still, add a check m_config_get_co(), to avoid matching pseudo-entries with no name.
* stream_rar: update commentGravatar wm42015-03-29
| | | | The stream filter non-sense was removed, which makes it much easier.
* ao_alsa: add an option to ignore ALSA channel map negotiationGravatar wm42015-03-28
| | | | This was requested, more or less.
* ao/wasapi: use built in KSDATAFORMATsGravatar Kevin Mitchell2015-03-27
| | | | | Rather than defining them ourselves. Thanks to rossy for figuring out the headers.
* manpage: update warning on blend-subtitlesGravatar Niklas Haas2015-03-27
|
* vo_opengl: treat non-blended subtitles as sRGBGravatar Niklas Haas2015-03-27
| | | | | | | | Currently, the code just skipped CMS completely. This commit treats them as sRGB by default, instead. This also refactors much of the color management code to make it more generalized and re-usable.
* manpage: vo_opengl: blend-subtitles is brokenGravatar wm42015-03-27
|
* old-configure: disable wayland backend if wayland wasn't foundGravatar Dmitrij D. Czarkoff2015-03-26
|
* old-configure: BSD-compliant use of mktempGravatar Dmitrij D. Czarkoff2015-03-26
| | | | | | | | | | Mktemp on BSDs (at least on OpenBSD) don't have "--tmpdir" option. Set temporary directory to /tmp by default. Use of ${TMPDIR:=/tmp} allows overriding temporary directory via environment if needed. (And is indeed needed in OpenBSD ports infrastructure.) Signed-off-by: wm4 <wm4@nowhere>
* old-configure: OpenBSD-specific changesGravatar Dmitrij D. Czarkoff2015-03-26
| | | | Lua binaries' names and cdrom/dvd device names.
* ao/wasapi: add missing "if" bracesGravatar Kevin Mitchell2015-03-26
|
* ao/wasapi: rewrite format searchGravatar Kevin Mitchell2015-03-26
| | | | | | | More clearly separate the exclusive and shared mode format discovery. Make the exclusive mode search more systematic in particular about channel maps (i.e., use chmap_sel). Assume that the same sample format / sample rates work for all channels to narrow the search space.
* video: fix seek-to-last-frameGravatar wm42015-03-26
| | | | | Accidentally broken in 79779616; we really need to check for true EOF, not just whether there are no frames yet.
* manpage: fix typoGravatar wm42015-03-26
|
* ao_sndio: open device in blocking mode, don't inflate buffer artificiallyGravatar Dmitrij D. Czarkoff2015-03-26
| | | | | | The code actually uses blocking mode, so opening sound device in non-blocking mode results in choppy sound. Also, inflating the buffer isn't necessary in blocking mode, so the function may simply return without doing anything.
* vo_opengl: add FBOTEX_FUZZY aliasGravatar Niklas Haas2015-03-26
| | | | Minor reusability factor
* vo_opengl: simplify sampler preludeGravatar Niklas Haas2015-03-26
| | | | | This moves common re-definitions to a custom function and also shortens the names to make stuff less verbose in general.
* vo_opengl: reset surfaces on equalizer updatesGravatar Niklas Haas2015-03-26
| | | | | This makes the VO more responsive to equalizer changes (eg. brightness) when interpolation is used.
* vo_opengl: increase shader cache sizeGravatar Niklas Haas2015-03-26
| | | | | | | This is a minor precaution, because in some cases the number of shader programs can already hit 10. (chroma merging + separated cscale/scale + + sub blending (interpolated) + sub blending (non-interpolated) + output (interpolated) + output (non-interpolated) + OSD)
* player: relax assertion on mp_set_playlist_entryGravatar Niklas Haas2015-03-26
| | | | | This assertion crashed when e was NULL, which can happen when using force.
* vo_opengl: draw subtitles directly onto the videoGravatar Niklas Haas2015-03-26
| | | | | | | | | | | | | | | | This has a number of user-visible changes: 1. A new flag blend-subtitles (default on for opengl-hq) to control this behavior. 2. The OSD itself will not be color managed or affected by gamma controls. To get subtitle CMS/gamma, blend-subtitles must be used. 3. When enabled, this will make subtitles be cleanly interpolated by :interpolation, and also dithered etc. (just like the normal output). Signed-off-by: wm4 <wm4@nowhere>
* vo_opengl: set cscale=spline36 as default for opengl-hqGravatar Niklas Haas2015-03-25
| | | | | | | Bilinear scaling is not a suitable default for something named "hq"; the whole reason this was done in the past was because cscale used to be obscenely slow. This is no longer the case, with cscale being nearly free.
* vo_opengl: correct OSD PTS when using interpolationGravatar Niklas Haas2015-03-25
|
* vf_vapoursynth: handle approximate EOF drainingGravatar wm42015-03-25
| | | | | | | | | | | | | Handling this perfectly with VapourSynth is probably not possible: you either need to tell it the total number of input frames in advance, or deliver an infinite stream. With playback, EOF can happen at an unpredictable point, for which the VapourSynth API has no mechanism at all. We handle EOF by returning an error to the filter, which will the filter return all pending frame callbacks. We still can try to handle it approximately: if the filter requests a frame past EOF, then send it an error. This seems to work relatively well with filters which don't request future frames.
* video: make frame skipping code slightly more readableGravatar wm42015-03-25
|
* video: refactor aspects of queue and EOF handlingGravatar wm42015-03-25
| | | | | Instead of touching the 2-entry queue in mpctx->next_frame directly, move some of it to functions.
* vo_opengl: minor simplificationGravatar wm42015-03-25
| | | | We don't need alternative function names in the GL loader anymore.
* vo_opengl: check extensions properlyGravatar wm42015-03-25
| | | | | | | | | With the previous commit, we have no need anymore to check a part of an extension string (for ignoring a prefix). So check the extension string properly, instead of just using the broken old strstr() method, which could accidentally ignore prefixes or suffixes. Do this by extending the check to whether the extension name is properly delimited by spaces or string start/end.
* vo_opengl: cleanup swap_control extension loadingGravatar wm42015-03-25
| | | | | | | | | | | | | | | | Instead of somehow looking for the substring "_swap_control" and trying to several arbitrary function names, do it cleanly. The old approach has the problem that it's not very exact, and may even load a pointer to a function which doesn't exist. (Some GL implementations like Mesa return function pointers even the functions which don't exist, and calling them crashes.) I couldn't find any evidence that glXSwapInterval, wglSwapIntervalSGI, or wglSwapInterval actually exist, so don't include them. They were carried over from MPlayer times. To make diagnostics easier, print a warning in verbose mode if the function could not be loaded.
* vo_opengl: drop support for old framebuffer extensionGravatar wm42015-03-25
| | | | | | | | Drop support for GL_EXT_framebuffer_object. It has 2 problems: semantics might be slightly different from the "proper" GL_ARB_framebuffer_object extension (but is likely completely untested), and also our extension loader is too dumb to load the same group of function pointers represented by different extensions only once.
* mixer: fix how volume is restored with per-app system mixersGravatar wm42015-03-24
| | | | | | | | | | This broke with PulseAudio: when changing some audio filters (like for playback speed), mixer_reinit_audio() was called - and it overwrote the volume with whatever mpv thought the volume was before. If the volume was changed externally before and while mpv was running, this would reset the volume to the old value. Fixes #1335.
* ao_pulse: drop video role; fixes random mutingGravatar wm42015-03-24
| | | | | | | | | The details are described in #1173. This "features" causes problems to users so often, it's better to remove it. Fixes #1173.