summaryrefslogtreecommitdiffstats
path: root/DOCS
Commit message (Collapse)AuthorAgeFilesLines
* manpage: fix typowm42015-09-031-1/+1
| | | | Fixes #2279.
* vo_opengl: enable pbo by default with opengl-hqwm42015-09-021-1/+1
| | | | | | | | | Can significantly help with very large video resolutions on nvidia drivers. It doesn't seem to have negative effects on Intel drivers either. (Although it could have on Intel drivers for older hardware.) For now, this is only for --vo=opengl-hq. Maybe --vo=opengl should use it too, but it's still meant to be the crappy, fail-safe default.
* video: make container vs. bitstream aspect ratio configurablewm42015-08-302-0/+18
| | | | | | Utterly idiotic bullshit. Fixes #2259.
* player: add --playlist-pos optionwm42015-08-222-0/+12
| | | | Oddly often requested.
* docs: correct typo for 'ingore-chmap'Ellis Berner2015-08-221-1/+1
| | | | ingore-chmap -> ignore-chmap
* command: make the playback-time property writablewm42015-08-211-2/+4
| | | | | | | Provides a simplistic way to seek without having to care about weird situations like timestamp vs. playback time. This is good, because the seek command is currently timestamp based, so when using the seek command the user _does_ have to care.
* vo_opengl: add tscale-clamp optionNiklas Haas2015-08-201-0/+6
| | | | | | | | | | This significantly reduces the amount of noticeable flashing when using tscale kernels with negative lobes, by cutting them off completely. I'm not sure if this has any negative effects. It needs a bit of subjective testing over a period of time, so I just made it an option. Fixes #2155.
* vo_rpi: disable background by defaultwm42015-08-201-0/+5
| | | | And add an option to enable it.
* manpage: fix typowm42015-08-181-1/+1
| | | | Actually, this was unintentionally changed in commit 70e0bc1e.
* DOCS/client_api_examples/sdl: don't curse the mainloopwm42015-08-171-2/+2
| | | | Fix a typo, and also reword another comment.
* DOCS/client_api_examples/sdl: add more explanation commentswm42015-08-121-1/+21
|
* player: use OSD formattin for DS on the terminal status linewm42015-08-121-3/+4
|
* DOCS/client_api_examples/sdl: don't load file before GL initwm42015-08-111-4/+4
| | | | Could lead to failure because it's essentially a race condition.
* DOCS/client_api_examples: add SDL OpenGL examplewm42015-08-112-0/+142
|
* manpage: fix typowm42015-08-111-1/+1
|
* player: add display sync modewm42015-08-104-1/+83
| | | | | | | | | | | | | | | | | | | | | | | | If this mode is enabled, the player tries to strictly synchronize video to display refresh. It will adjust playback speed to match the display, so if you play 23.976 fps video on a 24 Hz screen, playback speed is increased by approximately 1/1000. Audio wll be resampled to keep up with playback. This is different from the default sync mode, which will sync video to audio, with the consequence that video might skip or repeat a frame once in a while to make video keep up with audio. This is still unpolished. There are some major problems as well; in particular, mkv VFR files won't work well. The reason is that Matroska is terrible and rounds timestamps to milliseconds. This makes it rather hard to guess the framerate of a section of video that is playing. We could probably fix this by just accepting jittery timestamps (instead of explicitly disabling the sync code in this case), but I'm not ready to accept such a solution yet. Another issue is that we are extremely reliant on OS video and audio APIs working in an expected manner, which of course is not too often the case. Consequently, the new sync mode is a bit fragile.
* player: separate controls for user and video controlled speedwm42015-08-102-0/+5
| | | | | | | | | | For video sync, we want separate playback speed controls for user- requested speed and the "correction" speed for video timing. Further, we use this separation to make sure only a resampler is inserted if playback speed is only changed for video sync correction. As of this commit, this is basically inactive code. It's just preparation for the video sync code (the following commit).
* demux_mkv: disable timestamp fixup code againwm42015-08-101-1/+1
| | | | | | | | | | | | This doesn't work too well if sections of the file change to a different framerate. It lowers our chances to guess the correct FPS in the display sync code. For normal playback, this (probably) doesn't help that much anyway, except that the "estimated-vf-fps" property will regress in the simplest mkv case. This will be fixed with the next commit. The now disabled code will probably be removed; it's not useful anymore.
* manpage: document videotoolbox supportwm42015-08-081-0/+1
|
* manpage: use - as separator for the remaining commandswm42015-08-061-22/+22
| | | | | See commit 289705da. These manpage parts were just forgotten when updating the command descriptions.
* lua: implement input_enable_section/input_disable_section via commandswm42015-08-061-4/+13
| | | | | | | | | | | | | | | Removes some more internal API calls from the Lua scripting backend. Which is good, because ideally the scripting backend would use libmpv functions only. One awkwardness is that mouse sections are still not supported by the public commands (and probably will never), so flags like allow-hide- cursor make no sense to an outside user. Also, the way flags are passed to the Lua function changes. But that's ok, because they're only undocumented internal functions, and not supposed to be used by script users. osc.lua only does due to historical reasons.
* command: define-section with empty contents removes a sectionwm42015-08-061-0/+2
|
* command: add a command for defining input bindingswm42015-08-061-0/+20
| | | | | | This was requested. It was more or less present internally already and used for Lua scripting. Lua will switch to the "public" functions in the following commits.
* demux: add options to control maximum queue sizewm42015-08-052-0/+16
| | | | | | | | | | | | | | Add --demuxer-max-packets and --demuxer-max-bytes, which control the maximum size of the packet queue. These can be helpful to avoid excessive memory usage. Memory usage is the reason why there's a limit in the first place. If a file is more or less broken, and audio and video don't line up, the decoders will fill up the packet queue trying to read more audio or video, and the maximum sizes are required to avoid unbounded memory allocation. Being able to override the maximum sizes is useful; either for restricting memory usage further, or enlarging the sizes when attempting to play various broken files.
* demux: remove options to control minimum packet queue sizewm42015-08-052-15/+1
| | | | | | | | Remove --demuxer-readahead-packets and --demuxer-readahead-bytes. These were a bit useless. They could force a minimum packet queue size, but controlling the queue size with --demuxer-readahead-secs is much nicer. It's fairly certain nobody ever used these options.
* DOCS: document video-aspect behavior changewm42015-08-051-0/+3
| | | | Forgotten in commit ae2f8fd0.
* charset_conv: "auto" encoding detection now uses uchardet.Jehan2015-08-041-4/+5
| | | | | If mpv is not built with uchardet, "enca" is still the fallback default encoding detection.
* input.conf: remap d/D keyswm42015-08-041-5/+1
| | | | | | | | | | Drop d for toggling framedrop. Toggling this is way too special to be at such a prominent place, and in fact I believe toggling it is pointless. Remap deinterlacing from D to d. It's relatively useful and non- destructive. As suggested in #973 (almost).
* player: remove higher-level remains of DVD/BD menu supportwm42015-08-032-22/+1
| | | | | | | | | | | | | | | Nobody wanted to restore this, so it gets the boot. If anyone still wants to volunteer to restore menu support, this would be welcome. (I might even try it myself if I feel masochistic and like wasting a lot of time for nothing.) But if it does get restored, it should be done differently. There were many stupid things about how it was done. For example, it somehow tried to pull mp_nav_events through all the layers (including needing to "buffer" them in the demuxer), which was needlessly complicated. It could be done simpler. This code was already inactive, so this commit actually changes nothing. Also keep in mind that normal DVD/BD playback still works.
* charset_conv: add uchardet supportwm42015-08-021-0/+6
| | | | | | | | | | | | | | For now, it needs to be explicitly selected. ENCA is still the default. This assumes uchardet returns iconv names. This doesn't seem to be always the case, and the result are lots of iconv errors. So explicitly check for this situation, and print a warning if it occurs. It's entirely possible that uchardet support is actually useless, because names are not necessarily iconv-compatible (but uchardet doesn't seem to document whether it attempts to return iconv-compatible names if possible). Fixes #908.
* win32: add portable config modewm42015-07-271-0/+8
| | | | | | | | | | | See manpage additions. The main reason for adding this is that we can't guess whether the user wants his config in his Windows profile or not. The user basically has to tell mpv what should be done, and the "portable_config" directory does this implicitly. Fixes #2042 (approximately).
* manpage: document --audio-channels=auto caveatswm42015-07-251-0/+8
| | | | | | | This is an unfortunate fact of life. Maybe making this the default wasn't such a good idea after all. Also update etc/example.conf. It used an obsolete alias for "auto".
* Require contributions in LGPLv2.1+wm42015-07-241-0/+3
| | | | | | | | | | | As suggested in #2033. Additionally, change "LGPLv2+" to "LGPLv2.1+". Since this was always used with the "and later" phrase, this doesn't require any further discussion. Also clarify that the "+" means "or later". This should be clear to anyone with a brain, but you never know with copyright.
* command: add property indicating per-file optionswm42015-07-232-0/+7
| | | | Fixes #2165, more or less.
* video: don't restrict --vd-lavc-threads to a maximum of 16wm42015-07-231-3/+4
| | | | | | Only do it when the number of threads is autodetected, as more than 16 threads are still considered not recommended. (libavcodec prints a warning.)
* manpage: fix typowm42015-07-231-1/+1
|
* cache: make backbuffer size configurablewm42015-07-222-5/+14
| | | | | | | | | | Allow setting an arbitrary amount, instead of the fixed 50%. This is nto striclty backwards compatible. The defaults don't change, but the --cache/--cache-default options now set the readahead portion. So in practice, users who configured this until now will see the double amount of cache being used, _plus_ the 75MB default backbuffer will be in use.
* vo_opengl: add temporal-dither-period optionNiklas Haas2015-07-201-0/+5
| | | | | This was requested multiple times by users, and it's not hard to implement and/or maintain.
* command: add track-list/N/audio-channels propertydeuiore2015-07-182-0/+6
| | | | | | Signed-off-by: wm4 <wm4@nowhere> (With some heavy modifications from the original patch.)
* screenshot: don't write PNG colorspace tags by defaultwm42015-07-182-1/+2
| | | | | | Generates too much discussion and confusion. Fixes #2051.
* sub: add option for stretching image subtitles to screenwm42015-07-182-0/+13
| | | | | | | Probably makes users happy who want bitmap subtitles to show up in the screen margins, and stops them from doing idiotic crap with vf_expand. Fixes #2098.
* manpage: fix typowm42015-07-131-1/+1
| | | | The (...) was closed, but never opened.
* player: extend --hls-bitrate optionwm42015-07-131-1/+4
| | | | Fixes #2116.
* player: use exit code 0 by default for quit, 4 for signals, etc.Philip Sequeira2015-07-111-1/+2
| | | | | | Default key bindings in encoding mode also use code 4, because scripts will probably want to fail if encoding is aborted (leaving an incomplete file).
* vo_opengl: reimplement tscale=oversampleNiklas Haas2015-07-111-1/+1
| | | | Closes #2102.
* vf_vdpaurb: Add a new filter for reading back vdpau decoded framesPhilip Langdale2015-07-111-0/+7
| | | | | | | | | | | | | | | | | Normally, vdpau decoded frames are passed directly to a suitable vo (vo_vdpau or vo_opengl) without ever touching system memory. This is efficient for output purposes, but prevents any of the regular filters from being used with such frames. This new filter implements a read-back step to pull the frames back into system memory where they can be acted on by other filters. Eventually the frames will be sent to the vo as if they were normal software-decoded frames. Note that a vdpau compatible vo must still be used to ensure that the decoder is properly initialised. Signed-off-by: wm4 <wm4@nowhere>
* player: parse and expose m3u playlist titleswm42015-07-102-0/+7
| | | | Requested. Closes #2100.
* video: add a way to disable automatic stereo conversionwm42015-07-102-3/+4
| | | | Fixes #2111.
* demux_mkv: improve video duration detection heuristicwm42015-07-091-1/+6
| | | | | | | | | | | Extend the --demuxer-mkv-probe-video-duration behavior to work with files that are partial and are missing an index. Do this by finding a cluster 10MB before the end of the file, and if that fails, just read the entire file. This is actually pretty trivial to do and requires only 5 lines of code. Also add a mode that always reads the entire file to estimate the video duration.
* stream_file: add fd:// protocolwm42015-07-091-0/+5
|
* player: disable seeking even if the cache is enabledwm42015-07-082-0/+6
| | | | | | | | | | | | | | Until now, if a stream wasn't seekable, but the stream cache was enabled (--cache), we've enabled seeking anyway. The idea was that at least short seeks would typically fall within the cache. And if not, the user was out of luck and terrible things happened. In other words, it was unreliable. Be stricter about it and remove this behavior. Effectively, this will for example disable seeking in piped data. Instead of trying to be clever, add an --force-seekable option, which will always enable seeking if the user really wants it.
* vf_vdpaupp: don't attempt to deinterlace progressive frameswm42015-07-082-1/+5
|
* vf_vavpp: don't attempt to deinterlace progressive frameswm42015-07-082-0/+5
|
* command: make deinterlace property use interlaced-only yadif modewm42015-07-071-1/+2
|
* vf_yadif: expose interlaced frame modewm42015-07-071-5/+4
| | | | | Also remove the enabled suboption, which did nothing. (It was probably broken at some point.)
* vo_opengl_cb, vo_opengl: add option for preloading hwdec contextwm42015-07-072-0/+17
| | | | | | | | See manpage additions. This is mainly useful for vo_opengl_cb, but can also be applied to vo_opengl. On a side note, gl_hwdec_load_api() should stop using a name string, and instead always use the IDs. This should be cleaned up another time.
* ipc: add request_id to jsonPreston Hunt2015-07-031-0/+18
| | | | | | | | | | | | If the request contains a "request_id", copy it back into the response. There is no interpretation of the request_id value by mpv; the only purpose is to make it easier on the requester by providing an ability to match up responses with requests. Because the IPC mechanism sends events continously, it's possible for the response to a request to arrive several events after the request was made. This can make it very difficult on the requester to determine which response goes to which request.
* manpage: fix dwmflush parameterwm42015-07-031-1/+2
|
* ao_coreaudio: add exclusive suboptionwm42015-07-032-0/+6
|
* ao_coreaudio_exclusive: support PCMwm42015-07-031-2/+0
| | | | | | | | | | | | | | | | | | Until now, this was for AC3 only. For PCM, we used AudioUnit in ao_coreaudio, and the only reason ao_coreaudio_exclusive exists is that there is no other way to passthrough AC3. PCM support is actually rather simple. The most complicated issue is that modern OS X versions actually do not support copying through the data; instead everything must go through float. So we have to deal with virtual and physical format being different, which causes some complications. This possibly also doesn't support some other things correctly. For one, if the device allows non-interleaved output only, we will probably fail. (I couldn't test it, so I don't even know what is required. Supporting it would probably be rather simple, and we already do it with AudioUnit.)
* client API, dxva2: add a workaround for OpenGL fullscreen issueswm42015-07-031-0/+2
| | | | | | | | | This is basically a hack for drivers which prevent the mpv DXVA2 decoder glue from working if OpenGL is in fullscreen mode. Since it doesn't add any "hard" new API to the client API, some of the code would be required for a true zero-copy hw decoding pipeline, and sine it isn't too much code after all, this is probably acceptable.
* vo_opengl: adjust interpolation code for the new video-sync mechanismNiklas Haas2015-07-011-5/+4
| | | | | | | | | | | | | This should make interpolation work much better in general, although there still might be some side effects for unusual framerates (eg. 35 Hz or 48 Hz). Most of the common framerates are tested and working fine. (24 Hz, 30 Hz, 60 Hz) The new code doesn't have support for oversample yet, so it's been removed (and will most likely be reimplemented in a cleaner way if there's enough demand). I would recommend using something like robidoux or mitchell instead of oversample, though - they're much smoother for the common cases.
* manpage: fix copy&paste mistakeswm42015-06-301-22/+20
| | | | | | | These are definitely not per-track. (Maybe we should just provide a script or such which pretty-prints "native" property output.
* DOCS/man: fix some grammar errorsDaniel Bergmann2015-06-293-4/+4
| | | | Signed-off-by: wm4 <wm4@nowhere>
* DOCS: fix recent typoswm42015-06-282-2/+2
| | | | Pointed out by a certain wiiaboo.
* demux: export forced flagwm42015-06-272-0/+6
| | | | | | At least Matroska files have a "forced" flag (in addition to the "default" flag). Export this flag. Treat it almost like the default flag, but with slightly higher priority.
* subprocess, lua: export whether the process was killed by uswm42015-06-271-0/+4
| | | | | | | | We want to distinguish actual errors, and just aborting the program intentionally. Also be a bit more careful with handling the wait() exit status: do not called WEXITSTATUS() without checking WIFEXITED() first.
* Disable DVD and BD menu support (to be removed)wm42015-06-262-7/+3
| | | | | | | | | | | | | | | | | | DVD/BD menu support never worked right, and are a pain to maintain. In particular, DVD menus never actually worked correctly, because highlights were not rendered correctly. Fixing this requires major effort, which I'm not