| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This inserts an automatic conversion filter if a Matroska file is marked
as 3D (StereoMode element). The basic idea is similar to video rotation
and colorspace handling: the 3D mode is added as a property to the video
params. Depending on this property, a video filter can be inserted.
As of this commit, extending mp_image_params is actually completely
unnecessary - but the idea is that it will make it easier to integrate
with VOs supporting stereo 3D mogrification. Although vo_opengl does
support some stereo rendering, it didn't support the mode my sample file
used, so I'll leave that part for later.
Not that most mappings from Matroska mode to vf_stereo3d mode are
probably wrong, and some are missing.
Assuming that Matroska modes, and vf_stereo3d in modes, and out modes
are all the same might be an oversimplification - we'll see.
See issue #1045.
|
| |
|
|
|
|
|
| |
Double-quote everything, eliminate unneeded evals and deprecated
`backtits` substitution syntax.
|
|
|
|
|
| |
Don't prepend each variable with __midentify__, just make them local
to the function.
|
| |
|
|
|
|
|
| |
$video_url can contain a question mark, which can be expanded to a
character in an existing file name if globbing is enabled.
|
|
|
|
|
| |
Unfortunately this also means you can't pass extra mpv options after the
URL anymore. You can prefix the script with MPV='mpv --options' though.
|
| |
|
|
|
|
| |
This is still pretty useful for debugging timing-dependent things.
|
| |
|
| |
|
|
|
|
| |
Implemented in shell, because it has to be done at runtime.
|
|
|
|
|
|
| |
The previous commit made the completion script always return non-zero, even when
a match is found. This explicitly sets the return value to zero whenever a match
is found but defaults to non-zero in case nothing is matched.
|
|
|
|
|
|
|
|
| |
Returning a non-zero value signals to the zsh completion system that no matches
were added by the script so that it can try the user-defined matchers (e.g.
those defined with matcher-list).
Fixes #1008.
|
|
|
|
|
| |
Looks like TOOLS/lua/ is now established as dumping ground for random
Lua scripts, so DOCS/lua_examples/ is not needed anymore.
|
| |
|
| |
|
|
|
|
|
| |
Previous code would detect for example `libcaca.0.dylib` as a system library,
because it matched the `libc` condition.
|
| |
|
|
|
| |
Not that there are widely used formats, but it will allow to play them directly from the Finder.
|
| |
|
|
|
|
|
| |
This stops options that are prefixes of other options from blocking
completion of values for the longer ones.
|
| |
|
|
|
|
|
|
|
|
|
| |
Don't use _x_arguments, as we don't support X arguments.
Get rid of -s, because we don't support multiple single-letter options
in one argument.
Add -S, because we ignore options after "--".
|
|
|
|
|
|
|
|
|
|
|
|
| |
Completion now uses "--opt=value" instead of "--opt value". Once the
user presses space and starts a new argument, the option just
completed is out of the picture, whether or not it was given an
argument. This handles options with no arguments or optional arguments
much better; previously, completing such an option would effectively
disable completion for the next argument.
Custom completed options such as "--ao" and friends will no longer
claim to consume an extra argument.
|
| |
|
|
|
|
| |
As discussed in #775
|
|
|
|
|
| |
This script uses ffmpeg's "idet" filter for interlace detection. In the
long run this should replace ildetect.sh+ildetect.sh.
|
|
|
|
|
|
|
|
|
|
|
| |
Commit e2e450f9 started making use of luaL_register(), but OF COURSE
this function disappeared in Lua 5.2, and was replaced with a 5.2-only
alternative, slightly different mechanism.
So just NIH our own function. This is actually slightly more correct,
since it forces the user to call "require" to actually make the module
visible for builtin C-only modules other than "mp". Fix autoload.lua
accordingly.
|
|
|
|
| |
This used the wrong index variable, and thus didn't work.
|
|
|
|
|
|
| |
This will load other files in the same directory when a single file is
played. It's an often requested feature, but we definitely don't want it
in the core.
|
|
|
|
| |
Prevents the binary from being copied over to the lib directory.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Use for all AO thread events y=0.5, while playloop events remain at y=1.
This makes the graph easier to read.
|
|
|
|
|
|
|
|
|
|
|
| |
Move the code that copies the dylib's to the bundle to a new script
(dylib-unhell.py) which is called by osxbundle.py.
dylib-unhell is about 20x faster than the previous implementation. This is
accomplished by removing superflous shell-out operations which are kept track
of using an in memory tree of all the needed dependencies. Moreover the
shell-outs have been further optimized by not requiring a complete shell for
every operation and just using subprocess.call (which is equivalent to Popen).
|
|
|
|
| |
Override the shift+d hotkey to add a pullup step to the cycle.
|
| |
|
| |
|
|
|
|
| |
already running
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Renamed options:
--aspect → --video-aspect
--fstype → --x11-fstype
--native-fs → --fs-missioncontrol
--name → --x11-name
Renamed properties:
aspect → video-aspect
|
| |
|
|
|
|
|
|
|
|
|
|
| |
It now inserts no filters and does nothing until the hot-key is pressed.
This makes it more suitable to be put in ~/.mpv/lua.
When the hot-key is pressed, it now inserts the cropdetect filter and
waits 1 second (or a --lua-opts specified duration) before gathering
the cropdetect metadata and inserting the appropriate crop filter. A
second press of the hotkey removes the crop.
|
|
|
|
|
|
|
| |
Apparently, the 3rd (2nd) parameter to string.translate() function was
removed.
Also, make_abs() had a mistake - not sure how this passed testing.
|
|
|
|
|
| |
This attempted to prefix the current directory to URLs, because it
didn't recognize them as already absolute paths.
|
|
|
|
|
| |
So this won't initialize terminal handling if stdout happens to be a
terminal. It also suppresses all output to stdout/stderr.
|
|
|
|
|
| |
Some might use that to just create an empty window with --force-window
--idle (for whatever reasons).
|
|
|
|
| |
But only via a special environment variable.
|
|
|
|
| |
Apparently they removed octal literals, and made them invalid syntax.
|
| |
|
| |
|
|
|
|
| |
allows live insertion/deletion/adjustment of drc audio filter
|
|
|
|
| |
in anticipation of more lua scripts
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allows to declare UTIs [1] for types of file that OS X doesn't know, like mkv,
mka, etc.
For example: instead of having a dynamically generated UTI for .mkv like
'dyn.somerandomstring', 'io.mpv.mkv' is registered and conforms to public.movie
and is known system wide.
Note: The list is far from being complete but it should cover the most used
type of files.
[1]: https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/understanding_utis/understand_utis_conc/understand_utis_conc.html#//apple_ref/doc/uid/TP40001319-CH202-CHDHIJDE
Fixes: #734
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Signed-off-by: wm4 <wm4@nowhere>
|
|
|
|
| |
Signed-off-by: wm4 <wm4@nowhere>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It seems that it was causing issues with certain perl setups (such as
the one on issue #549). It also turns out that it was not behaving correctly
(not all constants were being promoted to big nums as they should), so we
use explicit objects to derive the constants.
There were also precedence issues. I wonder if this even worked right to
begin with.
The 'double' path (8-byte floats) is untested, as I couldn't easily find
a file with such a field.
Closes #549.
|
|
|
|
|
| |
Now it does basically the same as mkv.desktop. Explanation is included
in the description comment.
|
| |
|
|
|
|
| |
This makes it show a window even when playing audio-only files.
|
|
|
|
| |
assume yadif).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds a new build system based on waf. configure and Makefile
are deprecated effective immediately and someday in the future they will be
removed (they are still available by running ./old-configure).
You can find how the choice for waf came to be in `DOCS/waf-buildsystem.rst`.
TL;DR: we couldn't get the same level of abstraction and customization with
other build systems we tried (CMake and autotools).
For guidance on how to build the software now, take a look at README.md
and the cross compilation guide.
CREDITS:
This is a squash of ~250 commits. Some of them are not by me, so here is the
deserved attribution:
- @wm4 contributed some Windows fixes, renamed configure to old-configure
and contributed to the bootstrap script. Also, GNU/Linux testing.
- @lachs0r contributed some Windows fixes and the bootstrap script.
- @Nikoli contributed a lot of testing and discovered many bugs.
- @CrimsonVoid contributed changes to the bootstrap script.
|
|
|
|
|
|
| |
This could cause the bundle to recache stuff because of differences with
configuration of other software using fonconfig. The defaults OS X directories
should be added to fontconfig at build time (through configure).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make TOOLS/matroska.pl output structs with fields sorted by name in
ebml_types.h to make the order of fields deterministic. Fix warnings in
demux_mkv.c caused by the first struct fields switching between scalar
and struct types due to non-deterministic ebml_types.h field order.
Since it's deterministic now, this shouldn't change anymore.
The warnings produced by the compilers are bogus, but we want to silence
them anyway, since this could make developers overlook legitimate
warnings.
What commits 7b52ba8, 6dd97cc, 4aae1ff were supposed to fix. An earlier
attempt sorted fields in the generated C source file, not the header
file. Hopefully this is the last commit concerning this issue...
|
| |
|
|
|
|
|
|
|
| |
Newer versions of perl randomize the hash used for hashes every time
it's run; this makes the order of the fields be non-deterministic. Tack
a sort there to make it deterministic. Needed to fix (or allow fixing) a
buggy gcc warning.
|
|
|
|
|
|
|
| |
Commit broke text subtitles without embedded fonts. Will look for a better
solution later. Revert it for now, since I'm starting to get bug reports.
This reverts commit 4a9f618d9f3b2d964bcc819426cc3042b8e447f7.
|
|
|
|
|
|
|
|
| |
This is to avoid the 30s hang while mpv caches fonts. In practice all the
fonts an average user is going to use are embedded in mkv files so there is
no reason to build fontconfig's cache on all of OS X system directories.
I might add something similar for terminal usage, but I am highly undecided.
|