summaryrefslogtreecommitdiffstats
path: root/DOCS
Commit message (Collapse)AuthorAgeFilesLines
* vo_opengl: rename prescale to prescale-lumaNiklas Haas2016-03-051-10/+4
| | | | | | Since prescale now literally only affects the luma plane (and the filters are all designed for luma-only operation either way), the option has been renamed and the documentation updated to clarify this.
* demux: add null demuxerwm42016-03-042-1/+5
| | | | It's useless, but can be used for fancy --lavfi-complex nonsense.
* command: add encoder-list propertywm42016-03-011-2/+7
| | | | | Also change decoder-list (for the sake of sharing the underlying code for both properties).
* command: export canonical ffmpeg version identifierwm42016-02-291-0/+7
| | | | Was printed only with "mpv -h" or so.
* command: export list of all decoderswm42016-02-291-0/+32
| | | | | | | Was only available via --vd=help and --ad=help (i.e. not at all via client API). Not bothering with separating audio and video codecs, since this list isn't all that useful anyway in general. If someone complains, a type field could be added.
* command: export more information under track-listwm42016-02-292-5/+34
| | | | | | | | | | | | | Export a number of container fields, which may or may not be useful in some scenarios. They are explicitly marked as originating from the demuxer, in order to make it explicit that they might be unreliable. I'd actually like to remove all other cases where container information is exported, but those numerous cases are going to be somewhat hard to deprecate. Also, not directly related, export the description of the currently active decoder. (This has been requested before.)
* osc: add always-on mode and unify visibility mode (always/never/auto)Avi Halachmi (:avih)2016-02-271-12/+13
| | | | | | | | | | | | | Adds always-on mode by internally utilizing hidetimeout as negative and forbidding the user to set negative values. This removes script-message to enable/disable the osc, and instead introduces a combined 'visibility' control with the values never/auto/always. It's available via script_opts and script_message as 'osc-visibility'. As message, it also supports a 'cycle' value. The del key is bound to cycling the visibility modes.
* manpage: add showvolume example to --lavfi-complexwm42016-02-271-0/+3
| | | | Pretty useful for debugging surround nonsense.
* manpage: fix typowm42016-02-211-1/+1
|
* manpage: add hint where the full keybindings are declaredwm42016-02-211-0/+4
| | | | The actual location of input.conf the user has to find out himself.
* demux_timeline: fix nested timelineswm42016-02-202-5/+3
| | | | | You can e.g. reference ordered chapters or other EDL files in EDLs. There were some bugs left which broke this in some cases.
* player: add on_preloaded hookwm42016-02-151-0/+11
| | | | (Limited usefulness.)
* manpage: normal filters are still active with complex filterswm42016-02-121-0/+3
| | | | It's not exactly obvious how they interact.
* manpage: fix indenting issue in vf_formatNiklas Haas2016-02-111-21/+21
|
* manpage: add example for playing 2 audio tracks at the same timewm42016-02-081-0/+2
|
* player: add --external-file optionwm42016-02-081-0/+5
| | | | Mostly intended for use with --lavfi-complex.
* player: add complex filter graph supportwm42016-02-051-1/+43
| | | | | | | | | | | | | | | | See --lavfi-complex option. This is still quite rough. There's no support for dynamic configuration of any kind. There are probably corner cases where playback might freeze or burn 100% CPU (due to dataflow problems when interaction with libavfilter). Future possible plans might include: - freely switch tracks by providing some sort of default track graph label - automatically enabling audio visualization - automatically mix audio or stack video when multiple tracks are selected at once (similar to how multiple sub tracks can be selected)
* input: ignore --input-cursor for events injected by input commandswm42016-02-041-0/+2
| | | | | | Apparently useful for window embedding. Fixes #2750.
* audio: remove default preference for libdcadecwm42016-02-011-1/+1
| | | | Not needed anymore, because the decoder was merged with FFmpeg.
* DOCS: explain about DVD situation in man page.archenemies2016-01-311-0/+39
| | | | | | Explains libdvdnav vs libdvdread situation (as much as I know), workarounds for bugs, and limitations of image-based subtitles. (try #4)
* vo_opengl: replace tscale-interpolates-only with interpolation-thresholdwm42016-01-272-4/+16
| | | | | The previous approach was too naive, and can e.g. ruin playback if scheduling switches e.g. between 1 and 2 vsync per frame.
* vo_opengl: support 10 bit support with ANGLEwm42016-01-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | GLES does not support high bit depth fixed point textures for unknown reasons, so direct 10 bit input is not possible. But we can still use integer textures, which are supported by GLES 3.0. These store integer data just like the standard fixed point textures, except they are not normalized on sampling. They also don't support bilinear filtering, and require a special sampler ("usampler2D"). While these texture formats enable us to shuffle the data to the GPU, they're rather impractical with the requirements mentioned above and our current architecture. One problem is that most code assumes it can always use bilinear scaling (even if bilinear is never used when using appropriate scale/cscale options). Another is that we don't have any concept of running a function on a texture in an uniform way. So for now, run a simple conversion step through a FBO. The FBO will use the rgba16f format normally, which gives enough bits for 10 bit, and will at least gracefully degrade with higher depth input. This is bound to be much slower than a more "direct" method, but at least it works and is simple to implement. The odd change of function call order in init_video() is to properly disable "dumb mode" (no FBO use) if these texture formats are in use.
* vo_opengl: default to rgba16f FBOs on ANGLEwm42016-01-261-2/+2
| | | | | Although it has only 1 bit more precission than rgba10_a2, it was reported to improve the visual quality.
* command: always allow setting volume/mute propertieswm42016-01-262-2/+24
| | | | | | | | | | | | | | | | | | | | | | | This seems generally easier when using libmpv (and was already requested and implemented before: see commit 327a779a; it was reverted some time later). With the weird internal logic we have to deal with, in particular the --softvol=no case (using system volume), and using the audio API's mixer (--softvol=auto on some systems), we still can't avoid all glitches and corner cases that complicate this issue so much. The API user is either recommended to use --softvol=yes or auto, or to watch the new mixer-active property, and assume the volume/mute properties have significant values if the mixer is active. Remaining glitches: - changing the volume/mute properties has no effect if no internal mixer is used (--softvol=no) and the mixer is not active; the actual mixer controls do not change, only the property values - --volume/--mute do not have an effect on the volume/mute properties before mixer initialization (the options strictly are only applied during mixer init) - volume-max is 100 while the mixer is not active
* manpage: fix typowm42016-01-251-1/+1
|
* vo_opengl: add tscale-interpolates-only sub-optionwm42016-01-252-0/+5
|
* vo_opengl: default scaler-resizes-only sub-option to yeswm42016-01-252-1/+2
| | | | | | | | Often requested. The main argument, that prominent scalers like sharpen change the image even if no scaling happens, disappeared anyway. ("sharpen", unsharp masking, is neither prominent nor a scaler anymore. This is an artifact from MPlayer, which fuses unsharp masking with bilinear scaling in order to make it single-pass, or so.)
* vo_opengl: rename custom shader entrypoint from sample to sample_pixelwm42016-01-252-1/+7
| | | | | | | "sample" is a reserved identifier at least in GLES ES. Suggestions for a better name than "sample_pixel" are still welcome. Fixes #2733.
* manpage: minor correctionswm42016-01-242-8/+4
| | | | Pointed out by der_richter on IRC.
* DOCS/interface-changes: fix typowm42016-01-231-1/+1
|
* manpage: adjust vf/af-command descriptionwm42016-01-221-1/+4
|
* command: add af-command commandwm42016-01-221-0/+3
| | | | Similar to vf-command. Requested. Untested.
* command: add vf-command commandwm42016-01-221-0/+6
|
* audio: change downmix behavior, add --audio-normalize-downmixwm42016-01-202-0/+13
| | | | | | This is probably the 3rd time the user-visible behavior changes. This time, switch back because not normalizing seems to be the more expected behavior from users.
* audio: change --audio-channels default back to stereowm42016-01-202-5/+9
| | | | | | | | Too many problems. Well, actually it's just Linux audio systems which cause problems, and exclusive audio access on other platforms. In any case, it seems you have to do some manual configuration if you want multichannel audio output.
* manpage: adjust --display-fps descriptionwm42016-01-181-3/+7
| | | | | Make it more conservative. In most cases, mpv should be able to determine it correctly on all supported platforms.
* manpage: update win32 config pathwm42016-01-141-1/+1
| | | | | | Well, this probably depends on the exact Windows version. Fixes #2611.
* man: options: Clarify expected behaviour with --dvbin-full-transponder.Oliver Freyermuth2016-01-141-4/+7
| | | | | | | Since the streams are chosen from the full TS by the player frontend, one should not expect that the program which is shown matches the chosen channel which was used for tuning to the frequency. Also, reformulate slightly to simplify reading.
* man: options: hint to cycling of program property.Oliver Freyermuth2016-01-141-0/+2
| | | | | Very helpful to switch between the different programs on a transponder in full-transponder-mode for DVB.
* man: input: document new DVB bindings and properties.Oliver Freyermuth2016-01-142-1/+13
| | | | | There is now H and K for DVB-channel switching, and the properties dvb-channel (W) and dvb-channel-name (RW).
* manpage: mention that image subtitles can not be repositioned etc.wm42016-01-121-0/+8
| | | | Fixes #2707. (Not entirely following the suggestions there.)
* manpage: adjust documented screenshot file namewm42016-01-081-2/+3
| | | | Fixes #2696.
* win32: fix fd://James Ross-Gowan2016-01-071-3/+2
| | | | | | | | Windows definitely supports Unix-style fd inheritance. This mostly worked when launched from mpv.exe, though mpv should change the file mode to O_BINARY. When launched from mpv.com, the wrapper must pass the list of handles (stored in the undocumented lpReserved2 and cbReserved2 fields) to the mpv process.
* ao_dsound: remove this audio outputwm42016-01-061-16/+2
| | | | | | | It existed for XP-compatibility only. There was also a time where ao_wasapi caused issues, but we're relatively confident that ao_wasapi works better or at least as good as ao_dsound on Windows Vista and later.
* options: exclude 360 from --video-rotate rangewm42016-01-021-1/+1
| | | | It's indeed completely useless. Pointed out in #2647.
* manpage: lua: fix command nameswm42015-12-291-5/+5
| | | | Both variants work, but the ones with "-" are preferred now.
* demux_mkv: adjust subtitle preroll defaultswm42015-12-271-2/+9
| | | | | | | | | | | | | | | | | Always preroll by default if the cue (index) information indicates overlapping subtitles. Increase the amount of maximum data it will skip to get such subtitles to 10 seconds. Since the index information can reliably tell whether reading earlier is needed, the maximum should be rarely actually used, thus we can set it high. On the other hand, the "old" prerolling mechanism always has to skip the maximum amount of data; thus the method using the index gets its own option to control the maximum amount of data to skip. (As more and more files With newer mkvtoolnix versions are muxed, and with this new and hopefully sane default established, these options can probably be removed in the future.)
* options: add --audio-file-pathswm42015-12-251-1/+5
| | | | | | | | Requested. It works like --sub-paths. This will also load audio files from a "audio" sub directory in the config file (because the same code as for subtitles is used, and it also had such a feature). Fixes #2632.
* input: add a catch-all "unmapped" commandwm42015-12-231-0/+6
| | | | | | This can be used to grab all unmapped keys. Fixes #2612.
* input: add key name to script-binding command responsewm42015-12-231-8/+14
| | | | | | | | | | | | | | | | The "script-binding" command is used by the Lua scripting wrapper to register key bindings on the fly. It's also the only way to get fine- grained information about key events (such as separate key up/down events). This information is sent via a "key-binding" message when the state of a key changes. Extend it to send name of the mapped key itself. Previously, it was assumed that the user just uses an unique identifier for the binding's name, so it wasn't needed. With this change, a user can map exactly the same command to multiple keys, which is useful especially with the next commit. Part of #2612.
* vo_opengl: blend transparent video against tiles by defaultwm42015-12-221-2/+4
| | | | | | | | | | | Add a "blend-tiles" choice to the "alpha" sub-option. This is pretty simplistic and uses the GL raster position to derive the tiles. A weird consequence is that using --vo=opengl and --vo=opengl-hq gives different scaling behavior (screenspace pixel size vs. source video pixel size 16x16 tiles), but it seems we don't have easy access to the original texture coordinates. Using the rasterpos is probably simpler. Make this option the default.
* Add a CONTRIBUTING.md filewm42015-12-221-9/+11
| | | | | | | | | Github will display a link to it when a user wants to create an issue or pull request. Also make some minor adjustments to DOCS/contribute.md, which is developer oriented, and for which I see no reason to merge it with the new file.
* vf_yadif: change defaultswm42015-12-212-5/+6
| | | | | | | | | | | | | | | | This is for the sake of command.c and the "deinterlace" option/property. Instead of forcing certain "better" defaults when inserting yadif, change the actual "yadif" defaults. I pondered not changing vf_yadif, and instead adding a trivial "yadif- auto" wrapper filter, which would merely have different defaults. But thinking about it, it doesn't make any sense for "deinterlace" to have different defaults from vf_yadif, with vf_yadif having the "worse" defaults. If someone wants the old behavior, the old behavior can be forced in a backward and forward compatible way by setting the suboptions. Fixes #2539 (kind of).
* DOCS/compile-windows: pthreads is not needed anymorewm42015-12-201-16/+1
| | | | | | Both mpv and ffmpeg have their own internal pthreads wrappers. The mpv one has been recently enabled by default as well. (It didn't work on XP, but we dropped XP support.)
* win32: input: use Vista CancelIoExJames Ross-Gowan2015-12-201-22/+0
| | | | | | | | | | | | | | | | | libwaio was added due to the complete inability to cancel synchronous I/O cleanly using the public Windows API in Windows XP. Even calling TerminateThread on the thread performing I/O was a bad solution, because the TerminateThread function in XP would leak the thread's stack. In Vista and up, however, this is no longer a problem. CancelIoEx can cancel synchronous I/O running on other threads, allowing the thread to exit cleanly, so replace libwaio usage with native Vista API functions. It should be noted that this change also removes the hack added in 8a27025 for preventing a deadlock that only seemed to happen in Windows XP. KB2009703 says that Vista and up are not affected by this, due to a change in the implementation of GetFileType, so the hack should not be needed anymore.
* video: switch from using display aspect to sample aspectwm42015-12-191-4/+4
| | | | | | | | | | | | | | | | MPlayer traditionally always used the display aspect ratio, e.g. 16:9, while FFmpeg uses the sample (aka pixel) aspect ratio. Both have a bunch of advantages and disadvantages. Actually, it seems using sample aspect ratio is generally nicer. The main reason for the change is making mpv closer to how FFmpeg works in order to make life easier. It's also nice that everything uses integer fractions instead of floats now (except --video-aspect option/property). Note that there is at least 1 user-visible change: vf_dsize now does not set the display size, only the display aspect ratio. This is because the image_params d_w/d_h fields did not just set the display aspect, but also the size (except in encoding mode).
* vo_opengl: disable pbo by defaults for opengl-hqwm42015-12-191-5/+7
| | | | Too many problems.
* man: fix grammar issuesMartin Herkt2015-12-199-65/+71
|
* vo_opengl: add dxinterop backendJames Ross-Gowan2015-12-111-0/+3
| | | | | | | | | | | | | | | | | | | | | WGL_NV_DX_interop is widely supported by Nvidia and AMD drivers. It allows a texture to be shared between Direct3D and WGL, so that rendering can be done with WGL and presentation can be done with Direct3D. This should allow us to work around some persistent WGL issues, such as dropped frames with some driver/OS combos, drivers that buffer frames to increase performance at the cost of latency, and the inability to disable exclusive fullscreen mode when using WGL to render to a fullscreen window. The addition of a DX_interop backend might also enable some cool Direct3D-specific enhancements in the future, such as using the GetPresentStatistics API to get accurate frame presentation timestamps. Note that due to a driver bug, this backend is currently broken on Intel. It will appear to work as long as the window is not resized too often, but after a few changes of size it will be unable to share the newly created renderbuffer with GL. See: https://software.intel.com/en-us/forums/graphics-driver-bug-reporting/topic/562051
* stream: drop PVR supportwm42015-12-101-59/+0
| | | | | | | | | This is only for specific Hauppage cards. According to the comments in who is actively using this feature. Get it out of the way. Anyone who still wants to use this should complain. Keeping this code would not cause terribly much additional work, and it could be restored again. (But not if the request comes months later.)
* sub: increase gap/overlap fixing threshold to 210mswm42015-12-071-1/+1
| | | | Don't ask why.
* vo_opengl: decrease default lookup texture size to 64Bin Jin2015-12-071-2/+2
| | | | | | It turns out that with accurate lookup we can decrease the default size of texture now. Do it to compensate the performance loss introduced by the LUT_POS macro.
* vo_opengl: make LOOKUP_TEXTURE_SIZE configurableBin Jin2015-12-071-0/+9
|
* win32: add option to set VO MMCSS profilewm42015-12-061-0/+4
| | | | This was requested.
* manpage: reflect recent subtitle changeswm42015-12-062-10/+10
|
* examples/qt_opengl: Use fbo of the widget and not the thread contextcommander kotori2015-12-031-1/+1
| | | | | | | Sometimes QOpenGLWidget may be redirecting it's output to a framebuffer object rather than the frontbuffer, in which case the current thread's context render fbo is different from the widget's. Use the widget's desired fbo instead.
* examples/qt_opengl: remove redundant time-start property fetchcommander kotori2015-12-031-2/+1
| | | | | |