| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
(cherry picked from commit 6983430c35d8f71ad5d779c763f80d55bcf69c47)
|
|
|
|
| |
(cherry picked from commit 6f507d14c1b05d6a7ac8bd9b01816de80f168113)
|
|
|
|
|
|
| |
The MSYS2 ones already mention Lua.
(cherry picked from commit 3fe61ada84fcbd3cef1bafe7c3369542afac1017)
|
|
|
|
| |
(cherry picked from commit e9ff136dd3e5200f95e92739333e2d303e8fd174)
|
|
|
|
|
|
|
|
| |
Just use makeFirstResponder on the mpv events view from client code
if you need the built in keyboard events (this is easier for dealing with view
nesting).
(cherry picked from commit 03a69bac95ce4e15016138104cd198a6a60c38cd)
|
|
|
|
| |
(cherry picked from commit 721e430cd2da16e0802781171a3cedb3849eec24)
|
|
|
|
|
| |
Signed-off-by: wm4 <wm4@nowhere>
(cherry picked from commit b74238416237d8a4b9fb02278e7b4fadf1f4b4f7)
|
|
|
|
|
|
|
|
| |
The way I interpreted it, it seemed like this was not default behavior
and could be enabled with --audio-pitch-correction - it should be made
clearer that this is actually *the default behavior*.
(cherry picked from commit 0f99b302f5dae5fe7df4e21aeb0900109b0ab042)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hopefully, this will really clear up how the thing is supposed to work
(and that it's not SVP, nor MVTools).
I also removed instances of the word "interpolation", since that's a
term that's easily misleading.
Finally, I expanded on smoothmotion-threshold since the purpose/meaning
was a bit confusing.
(cherry picked from commit 9fa73b6f645952247d3d18e617a357a5d02f644e)
|
|
|
|
|
|
|
| |
"input-x11-keyboard" still works, but is a deprecated alias with the
same functionality.
(cherry picked from commit cf395e1754d36cf22baae3e49445263aab226835)
|
|
|
|
|
|
| |
Requested, and should be quite good at giving an overview how it works.
(cherry picked from commit af435e0a027df4b2135488d76ee8b488a0474dfa)
|
|
|
|
|
|
|
| |
Maybe I don't know what I'm doing. I'm fairly certain though that Intel
does not know what they're doing.
(cherry picked from commit d71bbcbc98c1fa8a934ee656b13adda089a11681)
|
|
|
|
|
|
|
|
|
| |
It probably was always a flag, so the documentation became invalid as
soon as mpv stopped accepting 0/1 for flags.
Fixes #1608.
(cherry picked from commit b230f32624b0ec979f848183e0aec88d1fd2d024)
|
|
|
|
|
|
|
| |
(There was a missing version bump for the msg-level change; just move it
under 1.14.)
(cherry picked from commit 0283815ee15dff0fbe23da8b26a9d50dfbf26f42)
|
|
|
|
|
|
|
| |
This value is not necessarily trustworthy (it might change) and can be
0.
(cherry picked from commit 349067a6ab2d03024b3e984e80314f303dd14432)
|
|
|
|
|
|
|
| |
Using it just makes no sense. But we're really being nice about this and
don't remove it immediately.
(cherry picked from commit fd5403cb404ca8fb30c2c6b1f415201bbce40d77)
|
|
|
|
|
|
|
|
|
| |
Requested. See manpage additions.
This also makes the magical loop_times constants slightly saner, but
shouldn't change the semantics of any existing --loop option values.
(cherry picked from commit aee0978d50e21d8f114382fdb9c014c029f71a04)
|
|
|
|
|
|
|
| |
It requires libavfilter now, just like many other filters. Not sure if
it even makes sense to keep this wrapper.
(cherry picked from commit 73d23a94059e40fd1209912d9365a2fb910eb8b1)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Not quite sure if this actually works as intended.
Fixes #1566.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Fixes #1552.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
| |
This allows a spread of 1.0 in either direction, which is already close
to absurd. Anything higher than that is pretty pointless.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
This can be useful to adjust some other audio related properties
at runtime depending on the audio device being used.
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
| |
Apparently some people want this. Not enabled by default.
Fixes #967.
|
|
|
|
| |
This wasn't possible before.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
I'm not sure how common this behavior possibly is; well whatever. This
option will allow reproducing such behavior, and help debugging it.
|
|
|
|
|
| |
Hopefully this will clear up how the thing is supposed to work (and that it's
not SVP, nor MVTools).
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Better solutions are available in vf_vapoursynth and vf_lavfi. The only
user I know who used this is now using vf_vapoursynth.
|
|
|
|
| |
If you really want it, it's in libavfilter and can be used via vf_lavfi.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Uhhh… What???
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Of course this was forgotten in commit 189087c.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.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.
|
|
|
|
|
|
| |
Mostly related to vo_opengl.
Fix the opengl lscale option in the qml example too.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 vi |