summaryrefslogtreecommitdiffstats
path: root/DOCS
Commit message (Collapse)AuthorAgeFilesLines
* Revert "vo_x11: remove this video output"wm42015-09-301-0/+6
| | | | | | | | | | | | | | | This reverts commit d11184a256ed709a03fa94a4e3940eed1b76d76f. Unfortunately, there was a lot of unexpected resistance. Do note that this is still extremely slow, crappy, etc. Note that vo_x11.c was further edited. Compared to the removed vo_x11.c, an additional ~200 lines of code was removed in order to simplify it. I tried to strip it down as much as possible. In particular, support for odd non-32 bit formats (24, 16, 15, 8 bit) is dropped. Closes #2300.
* manpage: adjustments to hwdec remarkswm42015-09-291-3/+9
|
* video: replace vf_format outputlevels option with global optionwm42015-09-294-22/+24
| | | | | | | | | | | The vf_format suboption is replaced with --video-output-levels (a global option and property). In particular, the parameter is removed from mp_image_params. The mechanism is moved to the "video equalizer", which also handles common video output customization like brightness and contrast controls. The new code is slightly cleaner, and the top-level option is slightly more user-friendly than as vf_format sub-option.
* video: remove VDA supportwm42015-09-281-1/+0
| | | | | | | | | VideoToolbox is preferred. Now that FFmpeg released 2.8, there's no reason to support VDA anymore. In fact, we had a bug that made VDA not useable with older FFmpeg versions in some newer mpv releases. VideoToolbox is supported even on slightly older OSX versions, and if not, you still can run mpv without hw decoding.
* manpage: fix broken examplewm42015-09-271-1/+1
| | | | Fixes #2353.
* client API: rename GL_MP_D3D_interfaceswm42015-09-241-0/+5
| | | | | | | | | | | | | This is a pseudo-OpenGL extension for letting libmpv query native windowing system handles from the API user. (It uses the OpenGL extension mechanism because I'm lazy. In theory it would be nicer to let the user pass them with mpv_opengl_cb_init_gl(), but this would require a more intrusive API change to extend its argument list.) The naming of the extension and associated function was unnecessarily Windows specific (using "D3D"), even though it would work just fine for other platforms. So deprecate the old names and introduce new ones. The old ones still work.
* vo_opengl: remove sharpen scalers, add sharpen sub-optionwm42015-09-233-7/+15
| | | | | | | | | | | | This turns the old scalers (inherited from MPlayer) into a pre- processing step (after color conversion and before scaling). The code for the "sharpen5" scaler is reused for this. The main reason MPlayer implemented this as scalers was perhaps because FBOs were too expensive, and making it a scaler allowed to implement this in 1 pass. But unsharp masking is not really a scaler, and I would guess the result is more like combining bilinear scaling and unsharp masking.
* DOCS: update client API changes for releaseMartin Herkt2015-09-231-1/+1
|
* DOCS: update release policyMartin Herkt2015-09-231-27/+69
|
* manpage: add a note about libavfilterwm42015-09-112-0/+8
|
* video/filter: remove some vf_lavfi wrapperswm42015-09-111-68/+0
| | | | | | | | | | | | | | | | I see no point in keeping these around. Keeping wrappers for some select libavfilter filters just because MPlayer had these filters is not a good reason. Ultimately, all real filtering work should go to libavfilter, and users should get used to using vf_lavfi directly. We might even not require the awful double-nested syntax for using libavfilter one day. vf_rotate, vf_yadif, vf_stereo3d are kept because mpv uses them internally. (They all extend the lavfi filters or change their defaults.) vf_mirror is kept for symmetry with vf_flip. vf_gradfun and vf_pullup are probably semi-popular, so I'll remove them not yet - only after some more discussion.
* af_lavfi: implement af-metadata propertywm42015-09-112-0/+5
| | | | | | | Works like vf-metadata. Unfortunately requires some code duplication (even though it's not much). Fixes #2311.
* video: make --field-dominance set interlaced flagKevin Mitchell2015-09-101-0/+4
| | | | fixes #2289
* cache: do not include backbuffer size in total stream cache sizewm42015-09-101-1/+3
| | | | | | | | | This causes weirdness with the "cache-size" property and option. Only the read handler of the property included the backbuffer, while all others did not. Make it consistent, and subtract the backbuffer size from the cache size. Fixes #2305.
* DOCS: cleanup API changes version markerswm42015-09-102-10/+11
| | | | | | Make it so that they don't need to be edited on release (no change in tense). Also, move the "stray" changes after client API version 1.19 to 1.19 itself.
* vo_opengl: implement debanding (and remove source-shader)Niklas Haas2015-09-091-14/+33
| | | | | | | | | | The removal of source-shader is a side effect, since this effectively replaces it - and the video-reading code has been significantly restructured to make more sense and be more readable. This means users no longer have to constantly download and maintain a separate deband.glsl installation alongside mpv, which was the only real use case for source-shader that we found either way.
* af_lavrresample: add normalize suboptionwm42015-09-081-0/+7
|
* vo_opengl: restore single pass optimization as separate code pathwm42015-09-071-1/+14
| | | | | | | | | | | | | | | | | | | | | | The single path optimization, rendering the video in one shader pass and without FBO indirections, was removed soem commits ago. It didn't have a place in this code, and caused considerable complexity and maintenance issues. On the other hand, it still has some worth, such as for use with extremely crappy hardware (GLES only or OpenGL 2.1 without FBO extension). Ideally, these use cases would be handled by a separate VO (say, vo_gles). While cleaner, this would still cause code duplication and other complexity. The third option is making the single-pass optimization a completely separate code path, with most vo_opengl features disabled. While this does duplicate some functionality (such as "unpacking" the video data from textures), it's also relatively unintrusive, and the high quality code path doesn't need to take it into account at all. On another positive node, this "dumb-mode" could be forced in other cases where OpenGL 2.1 is not enough, and where we don't want to care about versions this old.
* vo_opengl: require FBOs and get rid of the single-pass optimizationNiklas Haas2015-09-071-9/+8
| | | | | | | This change makes vo_opengl slightly less compatible (ancient devices without FBOs will no longer work) and decreases performance in the simplest case (vo=opengl), in exchange for significantly reducing code complexity and making everything easier to reason about.
* DOCS/client_api_examples/sdl: make the window resizablewm42015-09-041-1/+2
|
* audio/filter: remove af_bs2b toowm42015-09-041-22/+0
| | | | | | | Some users still use this filter, so the filter was going to be kept. But I overlooked that libavfilter provides this filter. Remove the redundant wrapper from mpv. Something like --af=lavfi=bs2b should work and give exactly the same results.
* audio/filter: remove some useless filterswm42015-09-031-158/+0
| | | | | | | | | | | | | | | | | | | | | | | | All of these filters are considered not useful anymore by us. Some have replacements in libavfilter (useable through af_lavfi). af_center, af_extrastereo, af_karaoke, af_sinesuppress, af_sub, af_surround, af_sweep: pretty simple and useless filters which probably nobody ever wants. af_ladspa: has a replacement in libavfilter. af_hrtf: the algorithm doesn't work properly on most sources, and the implementation was buggy and complicated. (The filter was inherited from MPlayer; but even in mpv times we had to apply fixes that fixed major issues with added noise.) There is a ladspa filter if you still want to use it. af_export: I'm not even sure what this is supposed to do. Possibly it was meant for GUIs rendering audio visualizations, but it couldn't really work well. For example, the size of the audio depended on the samplerate (fixed number of samples only), and it couldn't retrieve the complete audio, only fragments. If this is really needed for GUIs, mpv should add native visualization, or a proper API for it.
* 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.