aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* img_convert: add function to scale RGBA OSD imagesGravatar wm42013-08-12
|
* sub: support straight alpha additionally to premultiplied alphaGravatar wm42013-08-12
| | | | | | | | | This is for VAAPI support. VAAPI does not support premultiplied alpha for OSD. (Normally, we prefer premultiplied, because it has better behavior on scaling.) I'm not sure whether blending in the ASS->RGBA part is correct and I didn't test it extensively.
* video: redo hw decoding initialization, add --hwdec=autoGravatar wm42013-08-11
| | | | | | | | | | | | | | | | Change how the HW decoding stuff is organized, the way it's initialized in particular. Instead of duplicating the list of supported codecs for hwaccel decoders, add a probe function which allows each decoder to report whether it supports a given codec. Add an "auto" choice to the --hwdec option, which automatically enables hardware decoding if libavcodec and/or the VO supports it. What mpv prints on the terminal changes a bit. Now it will just print a single line whether hw decoding is used or not (and nothing at all if no hw decoding at all was requested). The pretty violent fallback from hw decoding to software decoding is still quite verbose and evil-looking though.
* x11_common: get hack for Motif Window Manager out of the wayGravatar wm42013-08-11
| | | | | | | | Disable the hack by default, because it's interfering with some more modern WMs. MWM (Motif Window Manager) is probably pretty dead, but we still allow enabling the old hack with "--fstype=mwm_hack". See github issue #179.
* vo: unref waiting image before destroying VO driverGravatar wm42013-08-11
| | | | | | | | This is in theory more correct with respect to hardware decoding. With hardware decoding, the VOs play the role of the video surface allocator, and nothing is allowed to reference surfaces past the VO lifetime. But in theory waiting_mpi could be a reference to a HW video surface, so it should be relased before the VO is uninitialized.
* core: make sure hw decoding works when playing multiple filesGravatar wm42013-08-11
| | | | | The hw decoding context was set only for the first file (when the VO was initialized), instead of every file.
* version.sh: add --print option, which prints version to stdoutGravatar wm42013-08-09
| | | | Might be helpful when creating a tarball.
* version.sh: integrate the release tag in outputGravatar wm42013-08-09
| | | | | | | | | | | | This is basically reconstructed from 46b218c. Since we now have proper release tags, we want this again. Add --tags to the git describe call, because the github release system creates light-weight tags only, and we're too lazy to create annitated tags (or is that bad practice?). Add --long, so that the git commit hash is part of the output even if the tag matches.
* demux_lavf: blacklist "tty" libavformat demuxerGravatar wm42013-08-07
| | | | | | | | | | This is completely useless, and in this particular case, it broke the fallback for MLP2 subtitles (stored as .txt files) to demux_subreader. (Yes, libavformat should be fixed to handle this, but for now this will _always_ break playback of subtitle files stored in .txt.) You can still force this demuxer, but by default we will just pretend that the "tty" demuxer does not exist.
* changes.rst: add precise scrolling supportGravatar Alexander Preisinger2013-08-07
|
* input.conf: better documentation and sane defaultsGravatar Alexander Preisinger2013-08-07
| | | | | Uses the same defaults as BTN3/4/5/6 which are hardcoded by most backends for the mouse wheel.
* wayland: add support for precise scrollingGravatar Alexander Preisinger2013-08-07
| | | | | | | | The default value for a standard mouse is 10.0. Because we don't want to multiply the value in the input config file we scale it down to 1.0. Hopefully this should work for more precise mousewheels or touchpad, but I don't have access to such hardware.
* input: add support for precise scroll axesGravatar Alexander Preisinger2013-08-07
| | | | | | | | | | | | | | | Support horizontal and vertical axes of input devices. If the input device support precise scrolling with an input value then it should first be scaled to a standard multiplier, where 1.0 is the default. The multiplier will then applied to the following commands if possible: * MP_CMD_SEEK * MP_CMD_SPEED_MULT * MP_CMD_ADD All other commands will triggered on every axis event, without change the values specified in the config file.
* core: move contents to mpvcore (2/2)Gravatar Stefano Pigozzi2013-08-06
| | | | Followup commit. Fixes all the files references.
* core: move contents to mpvcore (1/2)Gravatar Stefano Pigozzi2013-08-06
| | | | | | | | | | core is used in many unix systems for core dumps. For that reason some tools work under the assumption that the file is indeed a core dump (for example autoconf does this). This commit just renames the files. The following one will change all the includes to fix compilation. This is done this way because git has a easier time tracing file changes if there is a pure rename commit.
* gl_video: handle non-mod-2 4:2:0 YUV video correctlyGravatar wm42013-08-06
| | | | | | | | | | | | | | | | Allocate textures big enough to include the bottom/right borders (so the chroma texture sizes are rounded up instead of down). Make the texture large enough to include the additional luma border. Conceptually, we pretend that the video frame is fully aligned, and then crop away the unwanted borders. Filtering (even just bilinear) will access the borders anyway, so it's possible that we might need to switch to "harder" cropping instead, but at least pixels not close to the border should be displayed correctly now. Add a comment to mp_image.c about this luma border. These semantics are kind of subtle, and the image allocation code handle this in a subtle way too, so it's better to document this explicitly. The libavutil image allocation code does similar things.
* Merge pull request #154 from rossy2401/wasapi-pauseGravatar Diogo Franco2013-08-05
|\ | | | | WASAPI stops working after pause
* | changes.rst: mention wayland supportGravatar Alexander Preisinger2013-08-05
| | | | | | | | In case website copy&paste outdated information again.
* | mp_msg: fix typo in commentGravatar wm42013-08-05
| |
* | stream_radio: fix some thingsGravatar wm42013-08-05
| | | | | | | | | | | | | | | | | | Using the radio set/step channel commands would have crashed (that was broken for about a year, nobody ever noticed). The "capture" part of a radio:// URI was incorrectly passed (this was broken quite recently). Still couldn't test it fully. I have no radio device. I suspect nobody uses this feature or will ever use it again.
* | core: change speed option/property to doubleGravatar wm42013-08-05
| | | | | | | | | | | | | | | | | | | | | | | | | | The --speed option and the speed property used float. Change them to double. Change the commands that manipulate the property (speed_mult/add) to double as well. Since the cycle command shares code with the add command, we change that as well. The reason for this change is that this allows better control over speed, such as stepping by semitones. Using floats is also just plain unnecessary.
* | demux_lavf: make avio buffer configurableGravatar wm42013-08-04
| | | | | | | | | | | | Perhaps not very useful, but reserved for situations when a user reports awful latency and experimentation/debugging might be required to find out why or to fix it (happens often).
* | demux_lavf: fix API usageGravatar wm42013-08-04
| | | | | | | | | | | | | | | | | | avio_alloc_context() is documented to require an av_malloc'ed buffer. It appears libavformat can even reallocate the buffer while it is probing, so passing a static buffer can in theory lead to crashes. I couldn't reproduce such a crash, but apparently it happened to mplayer-svn. This commit follows the mplayer fix in svn commit r36397.
* | option: fix inverted --mouseinput optionGravatar wm42013-08-03
| | | | | | | | Also fixes --no-mouseinput.
* | command: make vf and af commands more verboseGravatar wm42013-08-03
| | | | | | | | | | | | On success, print the filter chain on the OSD. Otherwise, show an error message on the OSD (just enough so that the user knows whether the command worked).
* | command: add vf/af propertiesGravatar wm42013-08-03
| |
* | command: split filter changing in two functionsGravatar wm42013-08-03
| | | | | | | | | | One function sets a raw filter list, the other allows "editing" the filter list.
* | options: don't make options set during playback file local (e.g. --vf)Gravatar wm42013-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor file local options handling: instead of making all options implicitly file local between loading a file and terminating playback, explicitly make options file local which are required to be file local. Or in other words, introduce a M_SETOPT_BACKUP flag, which forces file local-ness when setting an option, and use this for file local command line options, per-file config files, and per-protocol/extension/vo/ao profiles. In particular, this changes the "vf" input command such that video filters stay permanent even when going to the next file in the playlist. The underlying reason for this is that the "vf" command uses the option setting command. This influences the "af" command as well.
* | configure: lower libdvdread minimum required versionGravatar wm42013-08-02
| | | | | | | | | | | | | | | | | | This version number was essentially random. When I switched the test to pkg-config, I took the libdvdread version from my Debian unstable system as the minimum (as I knew that this version worked). A user reported that the libdvdread version 4.1.4 appeared to work fine, so lower the minimum version to the 4.1.x series.
* | m_option.c: fix typo in messageGravatar wm42013-08-02
| |
* | m_config: minor simplificationGravatar wm42013-08-02
| | | | | | | | | | The optstruct parameter in the m_config_parse_option functions was not needed.
* | stream: parse URL escapes for file://Gravatar wm42013-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So for example "file:///file%20name.mkv" will open "file name.mkv". I'm not sure whether we want/need this. The old code didn't do it. Also, it's not really clear whether this is handled correctly. It seems the corresponding freedesktop.org "standard" allows a (useless) hostname part, which we should skip in theory. The number of slashes is not really clear either. We can open relative filenames (by removing one of the slashes from the example above), which is perhaps an unneeded feature. How does this even work with Windows paths? This issues can probably be corrected later. The URL unescape code is based on code from m_option.c removed with a recent commit.
* | Remove m_structGravatar wm42013-08-02
| | | | | | | | Not needed anymore.
* | stream: redo URL parsing, replace m_struct usage with m_configGravatar wm42013-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | Move the URL parsing code from m_option.c to stream.c, and simplify it dramatically. This code originates from times when http code used this, but now it's just relict from other stream implementations reusing this code. Remove the unused bits and simplify the rest. stream_vcd is insane, and the priv struct is different on every platform, so drop the URL parsing. This means you can't specify a track anymore, only the device. (Does anyone use stream_vcd? Not like this couldn't be fixed, but it doesn't seem worth the effort, especially because it'd require potentially touching platform specific code.)
* | manpage: clean up environment variables sectionGravatar wm42013-08-02
| |
* | manpage: document exit codesGravatar wm42013-08-02
| |
* | manpage: move screenshot section above option listGravatar wm42013-08-02
| | | | | | | | | | Seems more logical, because general usage instructions are before the option list as well.
* | mplayer: add more verbose exit codesGravatar Andre D2013-08-02
| |
* | encoding-example-profiles: get rid of the N900 anti upscale hack.Gravatar Rudolf Polzer2013-08-02
| | | | | | | | | | | | This slightly increases file size due to needless downscaling on the device due to aspect correction, but keeps quality as is and prevents encoding errors caused by odd height/width.
* | ao_coreaudio: move to new log APIGravatar Stefano Pigozzi2013-08-01
| |
* | ao_coreaudio: remove useless definesGravatar Stefano Pigozzi2013-08-01
| | | | | | | | They are already defined in the header file
* | audio/out: add support for new logging APIGravatar Stefano Pigozzi2013-08-01
| |
* | vo_corevideo: use new log APIGravatar Stefano Pigozzi2013-08-01
| | | | | | | | | | Also removes the printing of the OpenGL info when using verbose mode since gl_common already does that.
* | vo_corevideo: move to C from Objective-CGravatar Stefano Pigozzi2013-08-01
| | | | | | | | | | This file was alredy written in C. The only remaining part was the file exension and `#import`s.
* | cocoa_common: use new log APIGravatar Stefano Pigozzi2013-08-01
| |
* | wayland: switch to the new mp_msg apiGravatar Alexander Preisinger2013-07-31
| |
* | video/out: use new mp_msg stuff for vo.c and vo_openglGravatar wm42013-07-31
| | | | | | | | The first step; also serves as example.
* | mp_msg: introduce new log functions and macrosGravatar wm42013-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has two goals: 1. Getting rid of global variables to make the core library-safe. 2. Getting rid of all the MSGT_* constants and the inconsistent prefixes spread throughout the source code. Both goals are not immediately reached with this commit. It's a huge transition that will take time. There are over >2500 mp_msg calls in the source, which all have to be replaced for this to work. The inconsistent prefixes are in particular annoying. Lots of code manually prefixes messages, e.g. mp_msg(MSGT_VO, MSGL_V, "[vo] ..."). Sometimes the prefixes don't even follow this convention (for example vo_direct3d.c uses "<vo_direct3d>" as prefix). This commit allows automatically adding prefixes on request, so consistency will hopefully improve. For now, this commit adds unused stuff, and behavior should not change. In mplayer.c, move the GetCpuCaps() call, because that used mp_msg() before mp_msg_init() was run.
* | options: handle presets directly in m_configGravatar wm42013-07-31
| | | | | | | | | | This means that "mpv -vo opengl-hq:help" will actually show the correct defaults, instead those of plain vo_opengl.
* | m_option: fix skipping of missing -vo/-ao entriesGravatar wm42013-07-31
| | | | | | | | | | | | | | | | | | The -vo/-ao options support skipping of unknown entries for the sake of allowing using the same config on possibly very different systems, which have different sets of VO/AOs available. Unfortunately skipping didn't quite work, possibly a rebase error when this was originally committed. Fix it.