summaryrefslogtreecommitdiffstats
path: root/DOCS
Commit message (Collapse)AuthorAgeFilesLines
* vf_rotate: support all multiples of 90 degreeswm42014-04-211-9/+2
| | | | | | | | | | | | | This couldn't rotate by 180°. Add this, and also make the parameter in degrees, instead of magic numbers. For now, drop the flipping stuff. You can still flip with --vf=flip or --vf=mirror. Drop the landscape/portrait stuff - I think this is something almost nobody will use. If it turns out that we need some of these things, they can be readded later. Make it use libavfilter. Its vf_transpose implementation looks pretty simple, except that it uses slice threading and should be much faster.
* encode: don't apply default config optionswm42014-04-192-1/+6
| | | | | | | | | | | | Often, user configs set options that are not suitable for encoding. Usually, playback and encoding are pretty different things, so it makes sense to keep them strictly separate. There are several possible solutions. The approach taken by this commit is to basically ignore the default config settings, and switch to an [encoding] config profile section instead. This also makes it impossible to have --o in a config file, because --o enables encode mode. See github issue #727 for discussion.
* manpage: add notes when to use/not use certain AO and VO driverswm42014-04-192-1/+50
|
* lua: add example to rebuild the status lineDavid Weber2014-04-191-0/+69
| | | | | | | This can be used to easily extent the status line for one's own needs. I'm not experienced with lua so a few things could probably be done a better way.
* input: discard key history when a key is mappedwm42014-04-191-4/+4
| | | | | | This is for the sake of multi-key combinations (see github issue #718). Now a multi-key sequence isn't matched if any of the previous keys were actually mapped.
* manpage: clarify one aspect of multi-keybindingswm42014-04-181-1/+2
| | | | | The explanation is kind of obvious, but on the other it'd probably be confusing not to clarify this.
* input: close window when window close button is pressed with --input-testwm42014-04-181-3/+3
| | | | | | | | | | | The window close button is usually mapped to the CLOSE_WIN pseudo-key. Until now, --input-test treated this pseudo-key like any other key (like the rest of the input handling code), so you couldn't close the window in this mode. The manpage had silly instructions and warnings how to deal with this. Just always quit when CLOSE_WIN is received, and improve the instructions.
* input: handle multi-combinations as key sequenceswm42014-04-181-0/+10
| | | | | | | | | | | | | | | | | The input code always supported combinations of multiple keys (even in MPlayer, although there the code was active really only for mouse buttons). This was arcance and also made the code more complicated. I only know of a single person who ever made use of this feature. Remove this feature, and repurpose some of the support code (e.g. parsing, display of key combinations, etc.) to handle such multi- combinations as sequences, instead of keys to be pressed at the same time. This is much simpler and implements the feature requested in github issue #718. This commit will probably cause a bunch of regressions, since the input handling code has some weird corner cases. I couldn't find any problems when testing, though.
* manpage: document loop-file propertywm42014-04-181-0/+3
| | | | Was forgotten in commit 1b398e99.
* player: add a --loop-file optionwm42014-04-171-0/+6
| | | | Unlike --loop, loops a file instead of the playlist.
* ao_null: add simulated device latency, simulate EOF problemswm42014-04-171-0/+7
| | | | | This EOF problems happen at least with PulseAudio, but since it's hard to reproduce, let ao_null optionally simulate it.
* vo_opengl: make spline36 default with --vo=opengl-hqwm42014-04-171-2/+4
|
* player: add a --dump-stats optionwm42014-04-171-0/+8
| | | | | | | | | | | | | | | | | | | | | | | This collects statistics and other things. The option dumps raw data into a file. A script to visualize this data is included too. Litter some of the player code with calls that generate these statistics. In general, this will be helpful to debug timing dependent issues, such as A/V sync problems. Normally, one could argue that this is the task of a real profiler, but then we'd have a hard time to include extra information like audio/video PTS differences. We could also just hardcode all statistics collection and processing in the player code, but then we'd end up with something like mplayer's status line, which was cluttered and required a centralized approach (i.e. getting the data to the status line; so it was all in mplayer.c). Some players can visualize such statistics on OSD, but that sounds even more complicated. So the approach added with this commit sounds sensible. The stats-conv.py script is rather primitive at the moment and its output is semi-ugly. It uses matplotlib, so it could probably be extended to do a lot, so it's not a dead-end.
* client API: remove mpv_event_pause_reasonwm42014-04-141-21/+5
| | | | | | | | | And slightly adjust the semantics of MPV_EVENT_PAUSE/MPV_EVENT_UNPAUSE. The real pause state can now be queried with the "core-idle" property, the user pause state with the "pause" property, whether the player is paused due to cache with "paused-for-cache", and the keep open event can be guessed with the "eof-reached" property.
* command: add property to indicate when pausing due to --keep-openwm42014-04-141-0/+7
| | | | | | | This property is set to "yes" if playback was paused due to --keep-open. The change notification might not always be perfect; maybe that should be improved.
* command: add a property to indicate core pause statewm42014-04-141-0/+5
| | | | | | | | | Currently this is (probably) equivalent to "paused-for-cache", but the latter is a bit special, while this new property is a bit more general. One case where they might actually be different is dvdnav menus, but I haven't checked. Also add property change notifications for these two properties.
* New option --no-ometadata to opt out of including metadata when encoding.Rudolf Polzer2014-04-141-0/+4
| | | | | | | This re-allows the previous behaviour of being able to reencode with metadata removed, which is useful when encoding "inconsistently" tagged data for a device/player that shows file names when tags are not present.
* vf_vapoursynth: wipe vapoursynth state completely on reloadingwm42014-04-141-4/+1
| | | | | | | | Before this commit, the filter attempted to keep the vsscript state (p->se) even when the script was reloaded. Change it to destroy the script state too on reloading. Now no workaround for LoadPlugin is necessary, and this also fixes a weird theoretical race condition when destroying and recreating the mpv source filter.
* Remove radio://wm42014-04-132-56/+0
| | | | | It was disabled by default, works only for analogue radio, and I bet nobody uses it.
* command: add vf-metadata propertyKevin Mitchell2014-04-131-1/+12
| | | | | | | This is a read-only property that uses VFCTRL_GET_METADATA to retrieve mp_tags metadata from a filter specified by label Signed-off-by: wm4 <wm4@nowhere>
* command: add paused-for-cache, total-avsync-change, drop-frame-count propertiesDavid Weber2014-04-131-0/+11
| | | | | | | | | This is needed if you want to reimplement the status line in lua I could only test drop-frame-count because I didn't find an easy way to trigger paused-for-cache and total-avsync-change Signed-off-by: wm4 <wm4@nowhere>
* manpage: vf_vapoursynth: document what happens on seekingwm42014-04-131-0/+8
| | | | Unfortunately, reloading on seeking causes real problems.
* manpage: lua: separate "advanced" functions into a separate sectionwm42014-04-121-4/+10
| | | | This will be less confusing.
* lua: make it easier to integrate with foreign event loopswm42014-04-121-0/+20
| | | | We provide some "official" utility functions for this.
* lua: wrap mpv_get_wakeup_pipe()wm42014-04-121-0/+4
| | | | Pretty much experimental for issue #661.
* video: add VapourSynth filter bridgewm42014-04-121-0/+47
| | | | | | | | | | | | Mainly meant to apply simple VapourSynth filters to video at runtime. This has various restrictions, which are listed in the manpage. Additionally, this actually copies video frames when converting frame references from mpv to VapourSynth, and a second time when going from VapourSynth to mpv. This is inefficient and could probably be easily improved. But for now, this is simpler, and in fact I'm not sure if we even can references VapourSynth frames after the core has been destroyed.
* manpage: fix --vf=scale optionsJames Ross-Gowan2014-04-111-3/+3
|
* manpage: document how the client API retrieves the complicated propertieswm42014-04-111-0/+82
| | | | | "Complicated" as in they use sub-properties, and using MPV_FORMAT_NODE allows an application to retrieve all information at once.
* lua: add a minor helper functionwm42014-04-101-0/+4
|
* cache: allow resizing at runtimewm42014-04-091-0/+12
| | | | | | | | | | | The only tricky part is keeping the cache contents, which is made simple by allocating the new cache while still keeping the old cache around, and then copying the old data. To explain the "Don't use this when playing DVD or Bluray." comment: the cache also associates timestamps to blocks of bytes, but throws away the timestamps on seek. Thus you will experience strange behavior after resizing the cache until the old cached region is exhausted.
* manpage: --ad-spdif-dtshd=yes works nowwm42014-04-081-1/+2
| | | | | It was fixed a while ago. There are still some issues, as pointed out in the manpage addition.
* vd_lavc: by default, do not show corrupt frameswm42014-04-081-1/+1
| | | | This flips the default value. Use --vd-lavc-show-all=yes to revert.
* client API: avoid redundant property change events if possiblewm42014-04-081-5/+9
| | | | | This is done simply by comparing the previous and current values. Do this only if the requested format is not MPV_FORMAT_NONE.
* lua: add API for observing property changeswm42014-04-081-0/+22
| | | | | A low level API was added already earlier, but that was merely a binding for the raw C API. Add a "proper" one, and document it.
* remove redundant/outdated line from encodeing.rst:"what works"Kevin Mitchell2014-04-031-1/+0
|
* lua: give more control over timerswm42014-04-021-5/+17
| | | | | | | | | | | Now they can be paused and resumed. Since pausing and disabling the timer is essentially the same underlying operation, we also just provide one method for it. mp.cancel_timer probably still works, but I'm considering this deprecated, and it's removed from the manpage. (We didn't have a release with this function yet, so no formal deprecation.)
* lua: add mp.unregister_event() functionwm42014-04-011-0/+5
| | | | Someone requested this... I think.
* DOCS/encoding: make "What does not work yet" a proper RST sectionwm42014-04-011-0/+1
|
* vo_opengl, cocoa: allow to autoselect a color profileStefano Pigozzi2014-03-311-0/+7
| | | | | | | | | | | | | This commit adds support for automatic selection of color profiles based on the display where mpv is initialized, and automatically changes the color profile when display is changed or the profile itself is changed from System Preferences. @UliZappe was responsible with the testing and implementation of a lot of this commit, including the original implementation of `cocoa_get_icc_profile_path` (See #594). Fixes #594
* command: allow changing filters before video chain initializationwm42014-03-301-0/+6
| | | | | | | Apparently this is more intuitive. Somewhat tricky, because of the odd state after loading a file but before initializing the VO.
* command: change what the metadata property returnswm42014-03-301-3/+9
| | | | | | | Change the type of the property from a string list (alternating key/value entries) to a map. Using the client API, this will return MPV_FORMAT_NODE_MAP, while Lua mp.get_property_native returns a dictionary-like table.
* manpage: remove misleading description for --ontopStefano Pigozzi2014-03-291-2/+1
| | | | | Pretty much all the VOs and backends support this, so there is no point in listing only X11 and corevideo support.
* manpage: osc: document some recent additionswm42014-03-201-0/+27
|
* manpage: clarify what to pass to --hwdec-codecs optionwm42014-03-201-1/+3
|
* manpage: mark disc-title as writeablewm42014-03-181-2/+3
|
* changes.rst: add dvd://1 -> dvd://0 changewm42014-03-171-0/+1
| | | | Done two commits ago.
* lua: rename mp.register_script_command() to mp.register_script_message()wm42014-03-171-5/+5
| | | | More consistent naming.
* command, lua: change script_message semanticswm42014-03-172-14/+29
| | | | | | | | Change script_message to broadcast the message to all clients. Add a new script_message_to command, which does what the old script_message command did. This is intended as simplification, although it might lead to chaos too.
* manpage: remove author fieldwm42014-03-161-1/+0
| | | | | | There's already a more detailed "AUTHORS" section. Closes #647.
* vf_delogo: remove internal implementationwm42014-03-161-5/+0
| | | | See previous commit.
* command: rename dvd- properties to disc-wm42014-03-151-4/+4
| | | | Since these are not DVD-only, but can also be used with BDs.
* DOCS/coding-style: add another requirement for commit messageswm42014-03-151-0/+3
|
* command: prefix DVD title properties with "dvd-"wm42014-03-151-1/+4
| | | | | | | | | | They're strictly DVD-only, so it's better to mark them as such. This also documentes the "title" (now renamed to "dvd-title") property. This also avoids collision with the --title option. (Technically, there was no problem. But it might be confusing for users, since we have a policy of naming properties and options the same if they refer to the same underlying functionality.)
* af_volume: add detach optionwm42014-03-141-0/+6
| | | | | | Maybe this should be default. On the other hand, this filter does something even if the volume is neutral: it clips samples against the allowed range, should the decoder or a previous filter output garbage.
* manpage: af: minor syntax improvementswm42014-03-141-4/+4
|
* af_volume: remove double-negated suboptionwm42014-03-141-3/+3
| | | | | You had to use "no-replaygain-noclip" to set this option. Rename it, so that only one negation is needed.
* af_volume: add support for replaygain pre-amp and clipping preventionAlessandro Ghedini2014-03-131-0/+6
|
* af_volume: add replaygain supportAlessandro Ghedini2014-03-131-0/+6
| | | | | | | | | This adds the options replaygain-track and replaygain-album. If either is set, the replaygain track or album gain will be automatically read from the track metadata and the volume adjusted accordingly. This only supports reading REPLAYGAIN_(TRACK|ALBUM)_GAIN tags. Other formats like LAME's info header would probably require support from libav.
* DOCS/coding-style: add an example and another rulewm42014-03-131-0/+25
|
* DOCS/tech-overview: DOCS/OUTDATED-tech/ was deletedwm42014-03-121-3/+1
|
* DOCS: add coding stylewm42014-03-121-0/+111
| | | | | | I've tried not to be too detailed (because it's not a reference, just some guidelines), but it still got relatively long. Also contains conventions for sending patches.
* options.rst: correct broken URLDiogo Franco2014-03-111-1/+1
|
* vo_opengl: Simplify and clarify color correction codeNiklas Haas2014-03-101-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit: - Changes some of the #define and variable names for clarification and adds comments where appropriate. - Unifies :srgb and :icc-profile, making them fit into the same step of the decoding process and removing the weird interactions between both of them. - Makes :icc-profile take precedence over :srgb (to significantly reduce the number of confusing and useless special cases) - Moves BT709 decompanding (approximate or actual) to the shader in all cases, making it happen before upscaling (instead of the old 0.45 gamma function). This is the simpler and more proper way to do it. - Enables the approx gamma function to work with :srgb as well due to this (since they now share the gamma expansion code). - Renames :icc-approx-gamma to :approx-gamma since it is no longer tied to the ICC options or LittleCMS. - Uses gamma 2.4 as input space for the actual 3DLUT, this is now a pretty arbitrary factor but I picked 2.4 mainly because a higher pure power value here seems to produce visually better results with wide gamut profiles, rather then the previous 1.95 or BT.709. - Adds the input gamma space to the 3dlut cache header in case we change it more in the future, or even make it user customizable (though I don't see why the latter would really be necessary). - Fixes the OSD's gamma when using :srgb, which was previously still using the old (0.45) approximation in all cases. - Updates documentation on :srgb, it was still mentioning the old behavior from circa a year ago. This commit should serve to both open up and make the CMS/shader code much more accessible and less confusing/error-prone and simultaneously also improve the performance of 3DLUTs with wide gamut color spaces. I would liked to have made it more modular but almost all of these changes are interdependent, save for the documentation updates. Note: Right now, the "3DLUT takes precedence over SRGB" logic is just coded into gl_lcms.c's compile_shaders function. Ideally, this should be done earlier, when parsing the options (by overriding the actual opts.srgb flag) and output a warning to the user. Note: I'm not sure how well this works together with real-world subtitles that may need to be color corrected as well. I'm not sure whether :approx-gamma needs to apply to subtitles as well. I'll need to test this on proper files later. Note: As of now, linear light scaling is still intrinsically tied to either :srgb or :icc-profile. It would be thinkable to have this as an extra option, :linear-scaling or similar, that could be used with or without the two color management options.
* audio: make --channels option always force the output layoutwm42014-03-102-11/+15
| | | | | | Use the --channels value directly on the AO, instead of doing it only in the --channels=stereo (default) case and if the decoder output is not stereo.
* DOCS: fix an external linkwm42014-03-091-3/+3
| | | | This got lost in commit b980884f.
* ao_jack: use new pull API helperswm42014-03-091-3/+0
| | | | | | | | | | | This removes the ringbuffer management from the code, and uses the generic code added with the previous commit. The result should be pretty much the same. The "estimate" sub-option goes away. This estimation is now always active. The new code for delay estimation is slightly different, and follows the claim of the jack framework that callbacks are timed exactly.
* ao_null: add option for simulated device speedwm42014-03-091-0/+5
| | | | Helps with testing and debugging.
* sd_ass: add a very simple and evil way to override ASS subtitle styleswm42014-03-011-5/+10
| | | | | | --ass-style-override=force now attempts to override the 'Default' style. May or may not work. In some situations it will work, but also mess up seemingly unrelated things like signs typeset with ASS.
* lua: add option to disable auto-loading of lua scripts