aboutsummaryrefslogtreecommitdiffhomepage
path: root/DOCS
Commit message (Collapse)AuthorAge
* manpage: fix af_scaletempo suggested commandsGravatar wm42015-02-10
|
* manpage: ipc: suggest --idleGravatar wm42015-02-09
|
* Revert "vo_opengl: disable alpha by default"Gravatar wm42015-02-06
| | | | | | | | | | This reverts commit a33b46194c3525cb585cc78b449ec275dbfd7f83. It turns out FFmpeg really considers this a bug, and fixed it by making the decoder output the correct pixel format. Fixes #1565. Reverts the fix #1528, though it should work fine with a recent git master FFmpeg.
* options: add --network-timeoutGravatar wm42015-02-06
| | | | | | Not quite sure if this actually works as intended. Fixes #1566.
* options: change --msg-level optionGravatar wm42015-02-06
| | | | | | | | | | | | | | Make it accept "," as separator, instead of only ":". Do this by using the key-value-list parser. Before this, the option was stored as a string, with the option parser verifying that the option value as correct. Now it's stored pre-parsed, although the log levels still require separate verification and parsing-on-use to some degree (which is why the msg-level option type doesn't go away). Because the internal type changes, the client API "native" type also changes. This could be prevented with some more effort, but I don't think it's worth it - if MPV_FORMAT_STRING is used, it still works the same, just with a different separator on read accesses.
* vo_opengl: add support for linear scaling without CMSGravatar Niklas Haas2015-02-06
| | | | | | | | | | This introduces a new option linear-scaling, which is now implied by srgb, icc-profile and sigmoid-upscaling. Notably, this means (sigmoidized) linear upscaling is now enabled by default in opengl-hq mode. The impact should be negligible, and there has been no observation of negative side effects of sigmoidized scaling, so it feels safe to do so.
* player: do not autoload audio with audio files, enable autoloadingGravatar wm42015-02-05
| | | | | | | | | | | | | | Autoload external audio files only if there's at least a video track (which is not coverart pseudo-video). Enable external audio file autoloading by default. Now that we actively avoid doing stupid things like loading an external audio file for an audio-only file, this should be fine. Additionally, don't autoload subtitles if a subtitle is played. Although you currently can't play subtitles without audio or video, it's disturbing and stupid that the player might load subtitle files with different extension and then fail.
* manpage: move out the MPlayer comparison pageGravatar wm42015-02-05
| | | | | | | | | | Giving this such a prominent place is not really appropriate anymore. Most people seeing this would probably expect a release changelog, not something about MPlayer. Since the page still could be useful for former MPlayer users (in particular to avoid confusion with renamed options etc.), still keep it in the DOCS directory.
* manpage: document hook APIGravatar wm42015-02-04
| | | | | | | This shouldn't exist and for the most part is meant to be used by the ytdl Lua script, but let's document it anyway. Since the Lua API handles all the details, it's considered much more "stable" than the raw API, which is why the raw API wasn't documented.
* command: add on_unload hookGravatar wm42015-02-04
| | | | Fixes #1552.
* player: remove --fixed-voGravatar wm42015-02-03
| | | | | | | In ancient times, this was needed because it was not default, and many VOs had problems with it. But it was always default in mpv, and all VOs are required to deal with it. Also, running --fixed-vo=no is not useful and just creates weird corner cases. Get rid of it.
* cocoa: automatically fetch display-fps from the monitorGravatar Stefano Pigozzi2015-02-03
| | | | | | | | | | | | Comment explains why I have been so doubtful at adding this. The Apple docs say CGDisplayModeGetRefreshRate is supposed to work only for CRTs, but it doesn't, and actually works for LCD TVs connected over HDMI and external displays (at least that's what I'm told, I don't have the hardware to test). Maybe Apple docs are incorrect. Since AFAIK Apple doesn't want to give us a better API – maybe in the fear we might be able to actually write some useful software instead of "apps" – I decided not to care as well and commit this.
* vo_opengl: disable alpha by defaultGravatar wm42015-02-03
| | | | | | | | | | | | | This reverts the default behavior introduced in commit 93feffad. Way too often libavcodec will return RGB data that has an alpha channel as per pixel format, but actually contains garbage. On the other hand, this will actually render garbage color values in e.g. PNG files (for pixels with alpha==0, the color value should be essentially ignored, which is what the old alpha blend mode did). This "fixes" #1528, which is probably a decoder bug (or far less likely, a broken file).
* vo_opengl: change initialization of gamma optionGravatar wm42015-02-03
| | | | | | | | | | Make the lazy gamma initialization less weird, and make the default value of the "gamma" sub-option 1.0. This means --vo=opengl:help will list the actual default value. Also change the lower bound to 0.1 - avoids a division by zero (I don't know how shaders handle NaN, but it's probably not a good idea to give them this value).
* command: new commands audio_add/audio_remove/audio_reloadGravatar xylosper2015-02-03
| | | | | | | | These commands are counterparts of sub_add/sub_remove/sub_reload which work for external audio file. Signed-off-by: wm4 <wm4@nowhere> (minor simplification)
* vo_opengl: change upper bound of :gamma to 2.0Gravatar Niklas Haas2015-02-03
| | | | | This allows a spread of 1.0 in either direction, which is already close to absurd. Anything higher than that is pretty pointless.
* manpage: add recommended values to :gamma suboptionGravatar Niklas Haas2015-02-03
| | | | | | | | These were derived from dividing our assumed video gamut (1.961) by some typical screen values (2.2 for dimly lit and 2.4 for pitch black): 1.961/2.4 = 0.8170833333333334 ~= 0.8 1.961/2.2 = 0.8913636363636364 ~= 0.9
* command: add property returning detected audio deviceGravatar Stefano Pigozzi2015-02-03
| | | | | This can be useful to adjust some other audio related properties at runtime depending on the audio device being used.
* command: add property returning detected hwdec APIGravatar wm42015-02-02
| | | | | | | | | This is somewhat imperfect, because detection of hw decoding APIs is mostly done on demand, and often avoided if not necessary. (For example, we know very well that there are no hw decoders for certain codecs.) This also requires every hwdec backend to identify itself (see hwdec.h changes).
* player: add external audio file auto-loadingGravatar wm42015-02-02
| | | | | | Apparently some people want this. Not enabled by default. Fixes #967.
* command: add properties returning the current VO and AO driverGravatar wm42015-02-02
| | | | This wasn't possible before.
* client API: add mpv_wait_async_requests()Gravatar wm42015-02-02
| | | | | | | | | | | | | | | | | | | | This does what it's documented to do. The implementation reuses the code in mpv_detach_destroy(). Due to the way async requests currently work, just sending a synchronous dummy request (like a "ignore" command) would be enough to ensure synchronization, but this code will continue to work even if this changes. The line "ctx->event_mask = 0;" is removed, but it shouldn't be needed. (If a client is somehow very slow to terminate, this could silence an annoying queue overflow message, but all in all it does nothing.) Calling mpv_wait_async_requests() and mpv_wait_event() concurrently is in theory allowed, so change pthread_cond_signal() to pthread_cond_broadcast() to avoid missed wakeups. As requested in issue #1542.
* ao_null: add emulation for certain broken behaviorGravatar wm42015-01-30
| | | | | I'm not sure how common this behavior possibly is; well whatever. This option will allow reproducing such behavior, and help debugging it.
* man: expand on the smoothmotion documentationGravatar Stefano Pigozzi2015-01-28
| | | | | Hopefully this will clear up how the thing is supposed to work (and that it's not SVP, nor MVTools).
* vf_ilpack: remove this filterGravatar wm42015-01-27
| | | | | | | | This was apparently useful for correct interlaced scaling (although I don't know anyone who used this). It was rarely used (if at all), had an inconvenient output format (packed YUV), and now has a better solution in libavfilter (using the libavfilter "scale" filter via vf_lavfi). There is no reason to keep this filter any longer.
* vf_divtc: remove this filterGravatar wm42015-01-27
| | | | | Better solutions are available in vf_vapoursynth and vf_lavfi. The only user I know who used this is now using vf_vapoursynth.
* vf_phase: remove this filterGravatar wm42015-01-27
| | | | If you really want it, it's in libavfilter and can be used via vf_lavfi.
* vf_swapuv: remove this filterGravatar wm42015-01-27
| | | | | | It's entirely useless. I left it in for a while, because the analog TV code had a transitional bug that could switch chroma planes, but it was fixed long ago. It's also available in libavfilter.
* manpage: fix rst2pdf buildGravatar Martin Herkt2015-01-27
| | | | Uhhh… What???
* command: export more details about file seekabilityGravatar wm42015-01-26
| | | | | | | | | | If a file is unseekable (consider e.g. a http server without resume functionality), but the stream cache is active, the player will enable seeking anyway. Until know, client API user couldn't know that this happens, and it has implications on how well seeking will work. So add a property which exports whether this situation applies. Fixes #1522.
* msg: add --log-file optionGravatar wm42015-01-26
| | | | | | | | | This allows getting the log at all with --no-terminal and without having to retrieve log messages manually with the client API. The log level is hardcoded to -v. A higher log level would lead to too much log output (huge file sizes and latency issues due to waiting on the disk), and isn't too useful in general anyway. For debugging, the terminal can be used instead.
* manpage: document 'A' keyGravatar wm42015-01-26
| | | | Of course this was forgotten in commit 189087c.
* manpage: fix typoGravatar Diogo Franco (Kovensky)2015-01-26
|
* manpage: fix smoothmotion-threshold value rangeGravatar wm42015-01-26
|
* options: make --hls-bitrate=max the defaultGravatar wm42015-01-26
| | | | | | | The previous default ("no") seemed to be equivalent to "min" in practice (though it might depend on the website, which is even worse). Better just select the best stream by default.
* manpage: describe some more config directory artifactsGravatar wm42015-01-26
|
* vo_opengl, x11: implement icc-profile-autoGravatar wm42015-01-26
| | | | | | | | | | | | | | | | | This queries the _ICC_PROFILE property on the root window. It also tries to reload the ICC when it changes, or if the mpv window changes the monitor. (If multiple monitors are covered, mpv will randomly select one of them.) The official spec is a dead link on freedesktop.org, so don't blame me for any bugs. Note that this assumes that Xinerama screen numbers match the way mpv enumerates the xrandr monitors. Although there is some chance that this matches, it most likely doesn't, and we actually have to do complicated things to map the screen numbers. If it turns out that this is required, I will fix it as soon as someone with a suitable setup for testing the fix reports it.
* vo_opengl: make "mitchell" the hq default filter for downscalingGravatar wm42015-01-26
| | | | | | | | | | | | | Seems like several people agree that it's a good filter for downscaling. Setting this option by default may also prevent people from accidentally using an unsuitable filter for downscaling by setting "scale" and without being aware of the impliciations (maybe). On the other hand, this change is not strictly backwards compatible for the same reasons. Also, allow disabling this option with scale-down="" (before this, not setting it was the only way to do this - not possible anymore if it's set by default). This is what the change in handle_scaler_opt() does.
* input, player: new command for mouse eventGravatar xylosper2015-01-23
| | | | | | | New command `mouse <x> <y> [<button> [single|double]]` is introduced. This will update mouse position with given coordinate (`<x>`, `<y>`), and additionally, send single-click or double-click event if `<button>` is given.
* vo: fix disabling/enabling smoothmotion at runtimeGravatar wm42015-01-23
| | | | | | | | | | | | | vo.c queried the VO at initialization whether it wants to be updated on every display frame, or every video frame. If the smoothmotion option was changed at runtime, the rendering mode in vo.c wasn't updated. Just let vo_opengl set the mode directly. Abuse the existing vo_set_flip_queue_offset() function for this. Also add a comment suggesting the use of --display-fps to the manpage, which doesn't have anything to do with the rest of this commit, but is important to make smoothmotion run well.
* manpage: minor changesGravatar wm42015-01-23
| | | | | | Mostly related to vo_opengl. Fix the opengl lscale option in the qml example too.
* command: export file format as propertyGravatar wm42015-01-23
| | | | | | | | | | | | Repurpose demuxer->filetype for this. It used to be used to print a human readable format description; change it to a symbolic format name and export it as property. Unfortunately, libavformat has its own weird conventions, which are reflected through the new property, e.g. the .mp4 case mentioned in the manpage. Fixes #1504.
* build: remove bogus client API examples buildGravatar wm42015-01-23
| | | | | | | | | | | The symlink trick made waf go crazy (deleting source files, getting tangled up in infinite recursion... I wish I was joking). This means we still can't build the client API examples in a reasonable way using the include files of the local repository (instead of globally installed headers). Not building them at all is better than deleting source files. Instead, provide some manual instructions how to build each example (except for the Qt examples, which provide qmake project files).
* vf_vavpp: add more deinterlacing algorithmsGravatar wm42015-01-23
| | | | | | These are untested due to lack of hardware. From what I've heard, the drivers are pretty buggy, so it's not clear how well this works, if at all.
* vo_opengl: add smoothmotion frame blendingGravatar Stefano Pigozzi2015-01-23
| | | | | | | | | | | | | | | | | | | SmoothMotion is a way to time and blend frames made popular by MadVR. It's intended behaviour is to remove stuttering caused by mismatches between the display refresh rate and the video fps, while preserving the video's original artistic qualities (no soap opera effect). It's supposed to make 24fps video playback on 60hz monitors as close as possible to a 24hz monitor. Instead of drawing a frame once once it's pts has passed the vsync time, we redraw at the display refresh rate, and if we detect the vsync is between two frames we interpolated them (depending on their position relative to the vsync). We actually interpolate as few frames as possible to avoid a blur effect as much as possible. For example, if we were to play back a 1fps video on a 60hz monitor, we would blend at most on 1 vsync for each frame (while the other 59 vsyncs would be rendered as is). Frame interpolation is always done before scaling and in linear light when possible (an ICC profile is used, or :srgb is used).
* manpage: vo_opengl: describe how to get lanczos2/lanczos3Gravatar wm42015-01-22
| | | | | | | These aliases were removed in commit 1ec77214. Add a notice to the manpage how to get these back. Apparently, "lanczos2" and "lanczos3" were the only interesting aliases possibly used by someone, so the description is limited to these two.
* vo_opengl: remove scale-sep and indirect optionsGravatar Niklas Haas2015-01-22
| | | | | | | | | | | | These are now auto-detected sanely; and enabled whenever it would be a performance or quality gain (which is pretty much everything except bilinear/bilinear scaling). Perhaps notably, with the absence of scale_sep, there's no more way to use convolution filters on hardware without FBOs, but I don't think there's hardware in existence that doesn't have FBOs but is still fast enough to run the fallback (slow) 2D convolution filters, so I don't think it's a net loss.
* vo_opengl: rename all scale options to make more senseGravatar Niklas Haas2015-01-22
| | | | | This emphasizes the fact that scale is used for *all* image upscaling, with cscale only serving a minor role for subsampled material.
* vo_opengl: always prefer indirect scalingGravatar Niklas Haas2015-01-22
| | | | | | This is better even for non-separable. The only exception is when using bilinear for both lscale and cscale. I've fixed the documentation/comments to make more sense.
* vo_opengl: implement naive anti-ringingGravatar Niklas Haas2015-01-22
| | | | | | | | This is not quite the same thing as madVR's antiringing algorithm, but it essentially does something similar. Porting madVR's approach to elliptic coordinates will take some amount of thought.