| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
Preparation for the following commits. Since at least theoretically the
config selection depends on the context type (EGL_RENDERABLE_TYPE has
separate bits for ES 2, ES 3, and desktop GL), doing it any other way
would be too painful.
|
|
|
|
|
|
|
|
|
|
| |
For X11 garbage we have to pass some annoying parameters to EGL context
creation. Add some sort of extensible API, so that adding a new
parameter doesn't break all callers. We still want to keep it as a
single function, because it's so nice isolating all the EGL nonsense API
boilerplate like this. (Did I mention yet that X11 and EGL are garbage?)
Also somewhat simplifies the vo_flags mess in the helper internals.
|
|
|
|
| |
The unprefixed versions are silently deprecated.
|
|
|
|
|
|
|
|
|
| |
Tried to open iconv with "auto" as source codepage, instead of using
the latin1 fallback. This also neutralizes the libavcodec dumbass
UTF-8 check, which discards subtitles not in UTF-8 and shows an
error message for ffmpeg CLI instead.
Fixes #3954.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The chroma alignment renormalization code forgot to account for the fact
that the chroma subsampling ratio has to be rotated.
Unfortunately, doing it this way seems to have somewhat broken the
chroma offset rotation logic for odd-sized subsampled image files. While
this is a bug, it's much, much less noticeable, so it's not nearly as
important as the bug this change fixes. Either way, a future patch needs
to still revise this logic, ideally by redesigning the entire rotation
mechanism.
|
|
|
|
| |
fixes #3946
|
|
|
|
|
|
|
| |
1px squares to 2px triangles and layout=box markers from 1px
squares to 2x1px rectangles.
While we're at it, wrap a few lines to 80col again.
|
|
|
|
|
|
|
| |
Who even needs those?
Once these deprecations are gone, --ad/--vd are simple lists without any
kind of complex matching.
|
|
|
|
| |
Has been less formally deprecated for a longer time.
|
|
|
|
|
| |
Useless now, so get rid of it. Also affects some user-visible display
things (like reported codec in use).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove ad_spdif from the normal codec list, and select it explicitly.
One goal was to decouple this from the normal codec selection, so
they're less entangled and the decoder selection code can be simplified
in the far future. This means spdif codec selection is now done
explicitly via select_spdif_codec(). We can also remove the weird
requirements on "dts" and "dts-hd" for the --audio-spdif option, and it
can just do the right thing.
Now both video and audio codecs consist of a single codec family each,
vd_lavc and ad_lavc.
|
|
|
|
|
|
|
|
|
| |
Conceptually cleaner, although the API claims this is equivalent.
Originally, AVCodecContext fields were used, because not all supported
libavcodec/libavutil versions had the AVFrame fields.
This is not done for chroma_sample_location - it has no AVFrame field.
|
|
|
|
|
|
|
|
|
| |
Helps with gif, probably does unwanted things with other formats.
This doesn't handle --end quite correctly, but this could be added
later.
Fixes #3924.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
TrueHD is a fucked up audio codec with extremely small frame sizes. Some
of these frames start with full headers, which are usually marked as
keyframes, and from which decoding can be started (or at least that's
what you'd expect).
So for such tracks we should probably trust the keyframe flags. Doesn't
really improve seek behavior, though.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some files have audio tracks with packets that do not have a keyframe
flag set at all. I don't think there's any audio codec which actually
needs keyframe flags, so always assume an audio packet is a keyframe
(which, in Matroska terminology, means it can start decoding from that
packet).
The file in question had these set:
| + Multiplexing application: Lavf57.56.100 at 313
| + Writing application: Lavf57.56.100 at 329
Garbage produced by garbage...
There are other such files produced by mkvmerge, though. It's not
perfectly sure whether these have been produced by FFmpeg as well
(mkvmerge often trusts the information in the source file, even if it's
wrong - so other samples could have been remuxed from FFmpeg).
Fixes #3920.
|
|
|
|
|
| |
This field is (or should be) deprecated, and there's no need to set it
with the new API.
|
| |
|
| |
|
|
|
|
|
|
| |
Don't force CLI usage. It can be imported, and generate_C_header() and
generate_C_definitions() can be called with a file argument instead of
writing to stdout always.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit fae73079310eef9dce9737f2e37ff4b80c8830ee.
Before the waf build system was used, we had a configure script written
in shell. To drop the build dependency on Python, someone rewrote the
Python scripts we had to Perl. Now the shell configure script is gone,
and it makes no sense to have a build dependency on both Perl and
Python.
This isn't just a straight revert. It adds the new Matroska EBML
elements to the old Python scripts, adjusts the waf build system, and of
course doesn't add anything back needed by the old build system.
It would be better if this used matroska.py/file2string.py directly by
importing them as modules, instead of calling them via "python". But for
now this is simpler.
|
| |
|
|
|
|
|
| |
Does not match a shell pattern anymore. Instead, a simple sub-string
search is done.
|
|
|
|
|
|
|
|
|
|
| |
this replaces the old fullscreen with the native
macOS fullscreen. additional the
--fs-black-out-screens was removed since the new
API doesn't support it in a way the old one did.
it can possibly be re-added if done manually.
Fixes #2857 #3272 #1352 #2062 #3864
|
|
|
|
|
|
|
|
| |
The reST contents directive is added to mpv.rst.
In wscript_build.py, the --strip-elements-with-class=contents option is
needed for the rst2man call in order to prevent the TOC from appearing
in mpv.1.
|
|
|
|
| |
It does more harm than good, since it spams terminal a lot
|
|
|
|
|
|
| |
the 'path' of an youtube url (youtube.com/watch?v=x)
would just be '/watch'. obviously this fails to
load.
|
|
|
|
|
|
|
|
|
| |
When dropping a file on mpv, either on the window
or the App bundle icon, while holding the shift
key the dropped files will be appended to the
playlist.
Fixes #2166
|
|
|
|
|
|
|
| |
Allow minimizing the borderless/fullscreen window by clicking on the
taskbar button or pressing Win+Down hotkey.
Also fixes #2229 and probably fixes #2451
|
|
|
|
|
|
|
| |
I thought it ewas already documented, but I'm not seeing it anywhere.
Maybe it did exist, but was deleted.
See #3899.
|
|
|
|
| |
Fixes #3899.
|
|
|
|
|
|
|
|
|
|
|
| |
Remove 'Quit mpv & remember playback position'
from the menu because it conflicts with the global
logout shortcut. add separator between 'Hide' and
'Quit' for consistency with other Apps.
also rename the 'Movie' menu to 'Video'. it's a
bit more generic.
Fixes #3865
|
|
|
|
|
|
| |
According to MSDN, GetWindowLong and SetWindowLong have been
superseded by GetWindowLongPtr and SetWindowLongPtr.
It's a cosmetic code change in this case.
|
|
|
|
|
|
|
|
| |
Was started by Uoti Urpala in commit 5f631d1c. Although it was made part
of demux_mkv.c, it's quite obvious that it's not based on any
pre-existing demux_mkv.c code (or ebml.c/.h for that matter). Anyone
else who has touched this code every since has already agreed to LGPL
relicensing.
|
|
|
|
|
|
|
| |
Currently, if init_filter fails after lavf_ctx is allocated, uninit is called
which frees lavf_ctx, but doesn't clear the pointer in spdif_ctx. So, on the
next call of decode_packet, it thinks it is already initialized and uses it,
resulting in a crash on my system.
|
|
|
|
| |
This fix broken pdf build and hopefully less fragile in future
|
|
|
|
| |
In which case it does nothing.
|
|
|
|
|
|
|
| |
As documented in interface-changes.rst. This makes it much easier to
follow what the heck is going on.
Whether this is adequate for real-world use is unknown.
|
|
|
|
|
|
|
|
| |
Enca is dead. libguess is relatively useless due to not having an
universal detection mode. On the other hand, libuchardet is actively
developed.
Manpages changes in the following commit.
|
| |
|
|
|
|
|
|
|
| |
This is not implemented and i don't even know if
it ever was. Also remove a trailing whitespace.
Fixes #3866
|
|
|
|
| |
As announced by interface-changes.rst.
|
|
|
|
| |
Using vo_opengl + MMAL overlay didn't quite work out.
|
|
|
|
|
|
| |
Possible with bumped FFmpeg/Libav.
These are just the simple cases.
|
|
|
|
| |
Fixes the build with Libav 11 (not).
|
|
|
|
|
|
|
| |
It's horribly obscure - why would it be the first option to be listed?
Also might fix the --scale option formatting/anchor in the HTML
rendering.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This allows leaving autoload in auto-loaded scripts and to be used
in a special profile like "pseudo-gui" without being troublesome
to disable the behavior in profiles that get applied after
pseudo-gui.
Ex:
[someprofile]
script-opts=autoload-disabled=yes
|
|
|
|
| |
Quite irresponsibly hacked together. Sue me.
|
|
|
|
|
| |
After various simplifications, these includes simply aren't needed
now.
|