summaryrefslogtreecommitdiffstats
path: root/TOOLS
Commit message (Collapse)AuthorAgeFilesLines
* idet.sh: An alternative to ildetect.sh.Rudolf Polzer2014-05-271-0/+161
| | | | | This script uses ffmpeg's "idet" filter for interlace detection. In the long run this should replace ildetect.sh+ildetect.sh.
* lua: fix compilation with lua 5.2wm42014-05-261-2/+4
| | | | | | | | | | | 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.
* autoload.lua: fix autoloading of files to prependwm42014-05-251-1/+1
| | | | This used the wrong index variable, and thus didn't work.
* TOOLS: add a Lua script to autoload playlist entrieswm42014-05-251-0/+69
| | | | | | 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.
* osxbundle: fix recursion terminationTsukasa OMOTO2014-05-251-1/+1
| | | | Prevents the binary from being copied over to the lib directory.
* TOOLS/vf_dlopen: use new pixelformats, fix usage for newstyle argsKevin Mitchell2014-05-156-13/+13
|
* TOOLS/mpv_identify.sh: unbreakwm42014-05-141-1/+1
|
* TOOLS/stats-conv: don't crash on empty lineswm42014-05-111-0/+3
|
* TOOLS/stats-conv: draw playloop and AO thread events separatelywm42014-05-111-0/+5
| | | | | Use for all AO thread events y=0.5, while playloop events remain at y=1. This makes the graph easier to read.
* osxbundle: split and optimize bundling scriptStefano Pigozzi2014-05-092-66/+94
| | | | | | | | | | | 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).
* TOOLS/lua: add cycle-deinterlace-pullup scriptKevin Mitchell2014-05-061-0/+56
| | | | Override the shift+d hotkey to add a pullup step to the cycle.
* TOOLS/lua: conform to whitespace coding-styleKevin Mitchell2014-05-062-24/+24
|
* TOOLS/lua: use double quotes unless there's a good reasonKevin Mitchell2014-05-042-26/+26
|
* TOOLS/lua/autocrop: handle case of user hitting hotkey while cropdetection ↵Kevin Mitchell2014-05-041-3/+11
| | | | already running
* TOOLS/lua: no longer gsub out "lua/" prefix, now that its no longer thereKevin Mitchell2014-05-042-2/+2
|
* options: rename video-related options/propertiesMartin Herkt2014-05-041-1/+1
| | | | | | | | | | | Renamed options: --aspect → --video-aspect --fstype → --x11-fstype --native-fs → --fs-missioncontrol --name → --x11-name Renamed properties: aspect → video-aspect
* TOOLS: better documentation of lua scriptsKevin Mitchell2014-04-293-0/+66
|
* TOOLS: improve autocrop.luaKevin Mitchell2014-04-291-9/+75
| | | | | | | | | | 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.
* TOOLS/umpv: make it work with Python 3 (again)wm42014-04-291-3/+6
| | | | | | | Apparently, the 3rd (2nd) parameter to string.translate() function was removed. Also, make_abs() had a mistake - not sure how this passed testing.
* TOOLS/umpv: don't mangle URLswm42014-04-291-1/+16
| | | | | This attempted to prefix the current directory to URLs, because it didn't recognize them as already absolute paths.
* TOOLS/umpv, mpv.desktop: use --no-terminal instead of --really-quietwm42014-04-291-1/+1
| | | | | So this won't initialize terminal handling if stdout happens to be a terminal. It also suppresses all output to stdout/stderr.
* TOOLS/umpv: allow passing 0 fileswm42014-04-291-2/+1
| | | | | Some might use that to just create an empty window with --force-window --idle (for whatever reasons).
* TOOLS/umpv: allow passing optionswm42014-04-291-2/+14
| | | | But only via a special environment variable.
* TOOLS/umpv: make it work with Python 3wm42014-04-291-1/+1
| | | | Apparently they removed octal literals, and made them invalid syntax.
* TOOLS: make youtube-dl_mpv.sh executablewm42014-04-281-0/+0
|
* TOOLS: indent lua scripts by 4 spaces instead of 3Kevin Mitchell2014-04-272-55/+55
|
* TOOLS: add lua/drc-controlKevin Mitchell2014-04-271-0/+80
| | | | allows live insertion/deletion/adjustment of drc audio filter
* TOOLS: move autocrop.lua to TOOLS/luaKevin Mitchell2014-04-271-0/+0
| | | | in anticipation of more lua scripts
* OS X bundle: add UTImportedTypeDeclarationsNyx0uf2014-04-251-1/+504
| | | | | | | | | | | | | | | | 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
* player: add a --dump-stats optionwm42014-04-171-0/+88
| | | | | | | | | | | | | | | | | | | | | | | 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.
* TOOLS: vf-metadata: lua cropdetect example scriptKevin Mitchell2014-04-131-0/+11
| | | | Signed-off-by: wm4 <wm4@nowhere>
* TOOLS: add script for using mpv with youtube-dlNikoli2014-04-091-0/+23
| | | | Signed-off-by: wm4 <wm4@nowhere>
* Parse::Matroska::Reader: get rid of `bigrat`Diogo Franco (Kovensky)2014-02-151-17/+20
| | | | | | | | | | | | | | | 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.
* umpv: silence mpv terminal outputwm42014-02-051-2/+4
| | | | | Now it does basically the same as mkv.desktop. Explanation is included in the description comment.
* umpv: improve descriptionwm42014-02-051-9/+11
|
* umpv: use --force-windowwm42014-02-051-4/+2
| | | | This makes it show a window even when playing audio-only files.
* ildetect: add ILDETECT_FORCE_RUN (if interlacing could not be decided, ↵Rudolf Polzer2013-12-181-1/+7
| | | | assume yadif).
* osxbundle: use mpv's version.sh instead of osxbundle'sChrisK22013-12-092-16/+1
|
* switch the build system to wafStefano Pigozzi2013-11-212-9/+13
| | | | | | | | | | | | | | | | | | | | | | | 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.
* osx bundle: remove embedded fonts.confStefano Pigozzi2013-11-141-120/+0
| | | | | | 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).
* demux_mkv: fix compiler warningswm42013-11-041-1/+1
| | | | | | | | | | | | | | | | 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...
* tools: add --no-cache --no-config to mpv_identify.shChrisK22013-11-031-1/+1
|
* matroska.pl: Sort the generated struct field listDiogo Franco (Kovensky)2013-11-021-2/+2
| | | | | | | 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.
* Revert "osxbundle: fonts.conf: only look for fonts in ~/.mpv/fonts"Stefano Pigozzi2013-09-191-2/+5
| | | | | | | 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.
* osxbundle: fonts.conf: only look for fonts in ~/.mpv/fontsStefano Pigozzi2013-09-181-5/+2
| | | | | | | | 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.
* macosx: add webm the filetypes handled by the bundleBilal Syed Hussain2013-09-141-0/+2
|
* macosx_application: handle mpv:// linksStefano Pigozzi2013-09-071-0/+10
| | | | | | | Pretty useful for people writing userscripts for web browsers. Links starting with 'mpv://' are forwarded to the mpv OSX bundle. The leading 'mpv://' is stripped from the recived url and the rest of the string is inserted as is in the playlist.
* macosx_application: handle URL events as fileopen eventsStefano Pigozzi2013-09-071-36/+10
| | | | | This allows to open URLs directly with mpv. This is useful for streaming and libquvi supported sites.
* x11: add window iconwm42013-09-011-0/+15
| | | | | | | | | | | | | | | | | | | | | The png file added to etc/ are taken from the link mentioned in commit 303096b, except that they have been converted to 16 bit, sRGB (with color profile info dropped, if there was one), and transparent pixels reset for better compression. The file x11_icon.bin is generated by gen-x11-icon.sh. I'm adding it to the git repo directly, because the script requires ImageMagick, and we don't want to make building even more complicated. The way how this is done is basically a compromise between effort required in x11_common.c and in gen-x11-icon.sh. Ideally, x11_icon.bin would be directly in the format as required by _NET_WM_ICON, but trying to write the binary width/height values from shell would probably be a nightmare, so here we go. The zlib code in x11_common.c is lifted from demux_mkv.c, with some modifications (like accepting a gzip header, because I don't know how to make gzip write raw compressed data).
* change application iconStefano Pigozzi2013-09-017-67/+3
| | | | | | | | | | | | | | | | | | | | | | | | | I would like to thank Chris Ward (@tenzerothree, http://tenzerothree.com/) for working on the art for these icons and bringing some eye candy to the project. The PSDs made by Chris are available on our Dropbox [1], along with the exports I made to create OSX and Windows icons. The PSDs are almost completly vector and all the resolutions look really similar, except the 16px favicon which was handcrafted to look better and more recognizeable on the smaller pixel budget. For Mac OS X the icons were created using iconutils on the PNGs iconsets exported from the PSDs. These even support retina resolutions (except 512@2x). For Windows the .ico file was created with imagemagick. The included images are 16px, 24px, 32px, 48px 64px, 256px. These are the resolutions listed on MSDN for supporting Windows XP [2] and Windows versions based on Aero [3]. Only 32bit PNGs were used since it is 2013. For Linux nothing changed yet, even though @wm4 talked about using the PNGs directly there. This will probably be dealt with in a later commit. [1]: https://www.dropbox.com/sh/yelfoj9tbft7o06/A8vOT6JKaG [2]: http://msdn.microsoft.com/en-us/library/ms997636.aspx [3]: http://msdn.microsoft.com/en-us/library/aa511280.aspx
* mpv.rc: update Windows iconJames Ross-Gowan2013-07-301-0/+64
| | | | Based on the OSX bundle icon.
* build: fix build with vdpau, simplifywm42013-07-291-74/+0
| | | | | | | | | | | | Instead of generating vdpau_template.c with a Perl script, just include the generated file in git. This is ok because it changes very rarely, and the script is larger than the output it generates. It also simplify the Makefile, and fixes the build. The problem was that transitive dependencies do not work with generated files: there is no dependency information yet when building it the first time. I overlooked this because I didn't delete the .d files for testing (which contained the correct dependencies, but only _after_ a first successful build).
* TOOLS: add script for emulating "unique application" functionality on Linuxwm42013-07-281-0/+91
| | | | | | | See github issue #43. This comes with a load of caveats, so be sure to read the comments at the start of the script.
* osxbundle: suggest some ways to correct missing dependenciesStefano Pigozzi2013-06-301-2/+11
| | | | | Hopefully this can give some more clues to users about what broke if they find themselves in this situation.
* ildetect: $ILDETECT_RUN_INTERLACED_ONLY to only run the job if not progressiveRudolf Polzer2013-06-211-4/+10
|
* ildetect.sh: add a quiet mode; verify telecine decisionRudolf Polzer2013-06-201-5/+18
| | | | | | | For quiet mode: ILDETECT_QUIET=1 ildetect.sh ... Telecine decision (guess by ildetect.so) is verified by retrying the ildetect run with the pullup filter inserted.
* ildetect.sh: skip needlessly going through vo_lavcRudolf Polzer2013-06-201-2/+2
| | | | | We can now turn off encoding mode by command line and use vo_null instead.
* ildetect.sh: better interlace detection rangeRudolf Polzer2013-06-201-1/+1
|
* ildetect.sh: env vars supportRudolf Polzer2013-06-201-8/+35
|
* vf_dlopen ildetect: fix numdecidedadjacentframes counterRudolf Polzer2013-06-161-1/+5
|
* vf_dlopen ildetect: make the wrapper shell script more robustRudolf Polzer2013-06-161-7/+2
|
* vf_dlopen filters: add an "ildetect" filter that detects interlacingRudolf Polzer2013-06-163-1/+336
| | | | | The filter analyzes each frame for combing, and decides at the end whether the content is likely interlaced, telecined or progressive.
* vf_dlopen framestep: step width of 0Rudolf Polzer2013-05-201-0/+2
| | | | | This is now defined to mean to never output any frame again (except for the first).
* vf_dlopen framestep filter: add a parameter for the phaseRudolf Polzer2013-05-201-4/+9
| | | | | also, default to 0-indexed frame counts (so by default, the 1st frame is output). Old behaviour can be done by -vf dlopen=./framestep.so:42:41.
* vf_dlopen examples: slightly simply the framestep filterRudolf Polzer2013-05-161-8/+1
| | | | We don't need config() ;)
* vf_dlopen examples: add framestep filterRudolf Polzer2013-05-162-2/+106
| | | | Usage: -vf dlopen=./framestep.so:5
* Merge branch 'audio_changes'wm42013-05-121-0/+7
|\ | | | | | | | | Conflicts: audio/out/ao_lavc.c
| * uncrustify: add some instructionswm42013-05-121-0/+7
| |
* | change reverse DNS strings to io.mpv.*Stefano Pigozzi2013-04-161-1/+1
|/ | | | fixes #60
* make: add osxbundle-skip-depsStefano Pigozzi2013-04-081-21/+50
| | | | | |<