summaryrefslogtreecommitdiffstats
path: root/DOCS
Commit message (Collapse)AuthorAgeFilesLines
* 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
| | | | | | Time-start is not a real property since 70df1608d. Fixes #2529.
* vo_opengl: enable NNEDI3 prescaler on OpenGL ES 3.0Bin Jin2015-12-021-2/+2
| | | | | | | | | | | | | | It turns out that both UBO and intBitsToFloat() are supported in OpenGL ES 3.0[1][2], enable them so that NNEDI3 prescaler can be used in a wider range of backends. Also fixes some implicit int-to-float conversions so that the shader actually compiles on GLES. Tested on Linux desktop (nvidia 358.16) with "es" sub-option. [1]: https://www.khronos.org/opengles/sdk/docs/man3/html/glGetUniformBlockIndex.xhtml [2]: https://www.khronos.org/opengles/sdk/docs/manglsl/docbook4/xhtml/intBitsToFloat.xml
* manpage: fix a command namewm42015-12-011-1/+1
| | | | Using "-" as separator is preferred now.
* manpage: ' can't be used for quotingwm42015-11-301-2/+2
|
* manpage: explain behavior of "path" propertywm42015-11-291-1/+5
| | | | | | | This seems to confuse users pretty often, but I'm not going to change its behavior. See e.g. #2541.
* DOCS/interface-changes: add some recent changeswm42015-11-291-1/+3
|
* vo_opengl: make tscale=mitchell:tscale-clamp the defaultwm42015-11-291-1/+1
| | | | Looks better than "oversample". tscale-clamp suggested by haasn.
* w32_common: implement icc-profile-autoJames Ross-Gowan2015-11-261-1/+2
| | | | | | | | | | | | This adds basic support for ICC profiles. Per-monitor profiles are supported. WCS profiles are not supported, but there is an API for converting WCS profiles to ICC, so they might be supported in future. I'm just not sure if anyone actually uses them. Reloading the ICC profile when it's changed in the control panel is also not supported. This might be possible by using the WCS APIs and watching the registry for changes, but there is no official API for it, and as far as I can tell, no other Windows programs can do it.
* vo: do not use display FPS for framedropwm42015-11-251-5/+4
| | | | | | | This logic was kind of questionable anyway, and --display-sync should give much better results. (I would even go as far as saying that the FPS-dependent framedrop code made things worse in some situations. Not all, though.)
* vo_opengl: disable interpolation without display-syncwm42015-11-251-0/+4
| | | | | Without display-sync mode, our guesses wrt. vsync phase etc. are much worse, and I see no reason to keep the complicated "vsync_timed" code.
* command, vo: add estimated-display-fps propertywm42015-11-251-0/+8
| | | | | | | | | | This is simply the average refresh rate. Including "bad" samples is actually an advantage, because the property exists only for informational purposes, and will reflect problems such as the driver skipping a vsync. Also export the standard deviation of the vsync frame duration (normalized to the range 0-1) as vsync-jitter property.
* vo_rpi: add an option to disable OSDwm42015-11-251-0/+4
| | | | | | The OSD takes up an entire fullscreen dispmanx layer. Although the GPU should be able to handle it (possibly even without any disadvantages), it'll still be useful for debugging performance issues.
* manpage: deinterlace is now the lowercase dKevin Mitchell2015-11-233-8/+8
| | | | | there were a few places that that used an upper case D and one that still actually said Shift+D
* manpage: clarify correct-downscaling descriptionwm42015-11-231-1/+2
| | | | Someone complained about the wording.
* command: export some per-video-frame informationwm42015-11-221-0/+13
| | | | Utterly useless, but requested. Fixes #2444.
* vo_opengl: use ANGLE by default if available (except for "hq" preset)wm42015-11-211-3/+14
| | | | | | | | | Running mpv with default config will now pick up ANGLE by default. Since some think ANGLE is still not good enough for hq features, extend the "es" option to reject GLES backends, and add to to the opengl-hq preset. One consequence is that mpv will by default use libswscale to convert 10 bit video to 8 bit, before it reaches the VO.
* vo_opengl: enable dumb-mode automatically if possiblewm42015-11-191-1/+4
| | | | | | | | | | | | | | | I decided that I actually can't stand how vo_opengl unnecessarily puts the video through 3 shader stages (instead of 1). Thus, what was meant to be a fallback for weak OpenGL implementations, the dumb-mode, now becomes default if the user settings allow it. The code required to check for the settings isn't so wild, so I guess it's manageable. I still hope that one day, our rendering logic can generate ideal shader stages for this case too. Note that in theory, dumb-mode could be reenabled at runtime due to a color management 3D LUT being set, so a separate dumb_mode field is required. The dumb-mode option can't just be overwritten.
* vo_opengl: switch FBO format on GLESwm42015-11-191-1/+2
| | | | | GL_RGB10_A2 is the best fixed-point format we can get on GLES/ANGLE for now. (Unless we somehow switch to non-normalized integer textures.)
* x11: request bypassing compositorwm42015-11-181-0/+4
| | | | | | | Maybe this is a good idea. Also add an option to disable it again, for the sake of testing. Fixes #2502.
* player: replace mistimed-frame-count with vsync-ratio on status linewm42015-11-181-5/+7
| | | | I think this is much more informative. Maybe.
* manpage: fix typo in vd-lavc-o exampleEllis Berner2015-11-181-1/+1
| | | `--vd--lavc-o becomes --vd-lavc-o`
* manpage: fix a typowm42015-11-181-1/+1
|
* input.conf: add default bindings for changing window scalewm42015-11-171-9/+5
| | | | | | These are very much inspired by the hardcoded Cocoa bindings on OSX. Fixes #2500.
* videotoolbox: make decoder format customizablewm42015-11-171-0/+8
| | | | | | | | | | Because apparently there's no ideal universally working format. The weird OpenGL texture format for kCVPixelFormatType_32BGRA is from: http://stackoverflow.com/questions/22077544/draw-an-iosurface-to-an-opengl-context (Which apparently got it from the linked Apple example code.)
* player: handle rebasing start time differentlywm42015-11-163-6/+24
| | | | | | | | | | | | | | | | Most of this is explained in the DOCS additions. This gives us slightly more sanity, because there is less interaction between the various parts. The goal is getting rid of the video_offset entirely. The simplification extends to the user API. In particular, we don't need to fix missing parts in the API, such as the lack for a seek command that seeks relatively to the start time. All these things are now transparent. (If someone really wants to know the real timestamps/start time, new properties would have to be added.)
* command: add vsync-ratio propertywm42015-11-132-0/+9
| | | | | | | | This is very "illustrative", unlike the video-speed-correction property, and thus useful. It can also be used to observe scheduling errors, which are not detected by the core. (These happen due to rounding errors; possibly not evne our fault, but coming from files with rounded timestamps and so on.)
* command: rename vo-missed-frame-count propertywm42015-11-132-7/+10
| | | | | | | | | "Missed" implies the frame was dropped, but what really happens is that the following frame will be shown later than intended (due to the current frame skipping a vsync). (As of this commit, this property is still inactive and always returns 0. See git blame for details.)
* win32: avoid detection as exclusive fullscreen windowMartin Herkt2015-11-131-0/+4
| | | | | | | | | | | | | | | | | Apparently Windows treats windows that use OpenGL, cover an entire screen and have the WS_POPUP style set or are topmost windows as exclusive fullscreen windows that bypass DWM and cannot be covered by other windows. This means we can’t use dwmflush in fullscreen mode, and it also means that no other window can cover mpv, and it makes the screen flicker when switching to fullscreen mode. This can be avoided by not setting the WS_POPUP flag. Users can still access the old behavior by enabling stay-on-top (which IMO at least makes sense—now we just need to get dwmflush autodetection right to avoid nasty surprises). fixes #2177
* vo_opengl_cb: make operation more similar to normal VOswm42015-11-092-21/+2
| | | | | | | | | | | | | | | | | | | | | vo_opengl_cb is a special case, because we somehow have to render video asynchronously, all while "trusting" the API user to do it correctly. This didn't quite work, and a while ago a compromise using a timeout to prevent theoretically possible deadlocks was added. Make it even more synchronous. Basically, go all the way, and synchronize rendering between VO and user renderer thread to the full extent possible. This means the silly frame queue is dropped, and we event attempt to synchronize the GL SwapBuffer call (via mpv_opengl_cb_report_flip()). The changes introduced with commit dc33eb56 are effectively dropped. I don't even remember if they mattered. In the future, we might make all VOs fetch asynchronously from a frame queue, which would mostly remove the differences between vo_opengl and vo_opengl_cb, but this will take a while (if it will even be done).
* command: make display-fps property writablewm42015-11-091-1/+1
| | | | | | | Has the same function as setting the option. This commit changes the property in a bunch of other ways. For example if the VO is not created, it will return the option value.
* vo_opengl: rename "drm_egl" to "drm-egl"wm42015-11-091-2/+2
|
* manpage: remove examples and authors sectionwm42015-11-081-46/+0
| | | | | | | | | The examples demonstrates use with optical media, which is far from mpv's main purpose. The authors section is a leftover from MPlayer times. There are enough other places which reiterate how mpv is based on mplayer2/MPlayer, copyright statements, and so on.
* manpage: slightly improve configuration files sectionwm42015-11-081