summaryrefslogtreecommitdiffstats
path: root/DOCS
Commit message (Collapse)AuthorAgeFilesLines
* vo_opengl: add experimental vdpauglx backendwm42017-03-181-0/+5
| | | | | | | | | | | | | | | | As the manpage says, this has no value other than adding bugs. It uses code based on context_x11.c, and basically does very stripped down context creation (no alpha support etc.). It uses vdpau for display, and maps vdpau output surfaces as FBOs to render into them. This might be good to experiment with asynchronous presentation. For now, it presents synchronously, with a 4 frame delay (which should whack off A/V sync). The forced 4 frame delay is probably also why interaction feels slower. There are some weird vdpau errors on resizing and uninit. No idea what causes them.
* screenshot: change details of --screenshot-format handlingwm42017-03-182-1/+2
| | | | | | | | | | | | | | | | This is just a pointless refactor with the only goal of making image_writer_opts.format a number. The pointless part of it is that instead of using some sort of arbitrary ID (in place of a file extension string), we use a AV_CODEC_ID_. There was also some idea of falling back to the libavcodec MJPEG encoder if mpv was not linked against libjpeg, but this fails. libavcodec insist on having AV_PIX_FMT_YUVJ420P, which we pretend does not exist, and which we always map to AV_PIX_FMT_YUV420P (without the J indicating full range), so encoder init fails. This is pretty dumb, but whatever. The not-caring factor is raised by the fact that we don't know that we should convert to full range, because encoders have no proper way to signal this. (Be reminded that AV_PIX_FMT_YUVJ420P is deprecated.)
* image_writer: remove useless formatswm42017-03-183-12/+2
| | | | Nobody cares about those.
* manpage: slightly improve screenshot-raw descriptionwm42017-03-181-3/+4
|
* manpage: minor clarification to screenshot command argument handlingwm42017-03-151-2/+6
|
* manpage: adjust description of libva deinterlacer ref direction messwm42017-03-071-5/+7
| | | | | | | | | | Relevant: https://cgit.freedesktop.org/mesa/mesa/commit/?id=0798fddb5000f2b1edffc693ec65236a680ce61f Eventually I'll just remove this option. But it's probably good to leave it for while, possibly for letting Mesa VA driver users test and confirm this.
* hw_videotoolbox: allow using native decoder output formatwm42017-03-021-0/+2
| | | | | | | Depends on FFmpeg commit ade7c1a2326e2bb9b. It has yet to show whether it actually does what it should. Probably doesn't.
* vf_vavpp: add advanced deint bug compatibility for Intel vaapi driverswm42017-02-281-0/+7
| | | | | | | | | | | | | | | I'm not sure what's going on here, but it appears kodi switches forward and backwards references for advanced VPP deinterlacing modes. This in turn makes deinterlacing with these modes apparently work. If you don't switch the directions, you get a stuttering mess. As far as the libva trace dump is concerned, this makes mpv's libva deinterlacing API use behave like kodi's, and appears to reproduce smooth video with advanced libva deinterlacing enabled. I'm hearing that Mesa actually does it correctly, and I'm not sure what will happen there. For now, passing "reversal-bug=no" as sub-option to the vavpp filter will undo this behavior.
* cocoa: add option to force dedicated GPUAkemi2017-02-271-0/+6
| | | | Fixes #3242
* demux_lavf: skip avformat_find_stream_info() for some formatswm42017-02-231-0/+9
| | | | | | | | Includes hls, mp4, mkv by default. This also avoids stupid things like decoding at least 1 video frame per stream in the demuxer. This also add --demuxer-lavf-probe-info to give finer control over what happens.
* vo_opengl: remove dxva2 dummy hwdec backendwm42017-02-201-0/+3
| | | | | | | | | This was a hack to let libmpv API users pass a d3d device to mpv. It's not needed anymore for 2 reasons: 1. ANGLE does not have this problem 2. Even native GL via nVidia (where this failed) seems to not require this anymore
* manpage: discourage vo_vaapi furtherwm42017-02-171-3/+2
| | | | | I don't know what's this comment about hardware decoding. Possibly it was written before vo_opengl had vaapi decoding support.
* vo_opengl: implement videotoolbox hwdec on iOSAman Gupta2017-02-171-2/+3
| | | | | | Implements --hwdec=videotoolbox on iOS. Similar to hwdec_osx.c, but using CVPixelBuffer APIs available on iOS instead of the equivalent IOSurface APIs in macOS.
* vo_opengl: hwdec_osx: use new format setup functionwm42017-02-171-2/+2
| | | | | | | | | | | | | | | | We can drop the custom table. For some reason, the interop does not accept GL_RGB_RAW_422_APPLE as internal format for GL_RGB_422_APPLE, so switch the format table to use GL_RGB (this way both interop and real textures work the same). Another victim of the apparent requirement of exactly matching texture formats is kCVPixelFormatType_32BGRA. vo_opengl wants to handle this as normal RGBA texture, with a swizzle applied in the shader. CGLTexImageIOSurface2D() rejects this, because it wants the exact internal format. Just drop the format, because it's useless anyway. (Maybe this is a bit too fragile...)
* manpage: remove stale --volume-restore-data entrywm42017-02-171-12/+0
| | | | The option was removed a while ago.
* DOCS/waf-buildsystem.rst: fix typoPedro Pombeiro2017-02-151-1/+1
| | | | Signed-off-by: wm4 <wm4@nowhere>
* cocoa: add --ontop-level option for modifying ontop window levelAkemi2017-02-131-0/+8
| | | | | | | | | | since there are different views on what ontop is, we make the ontop window level modifiable. at the moment only support for macOS was added. the default for macOS was changed from 'system' to 'window' since this fixes an unwanted behaviour in fullscreen and in general causes less issues with expected behaviour. Fixes #2376 #3974
* DOCS/contribute.md: adjust coding style for if/else bracingwm42017-02-111-6/+4
|
* DOCS/mplayer-changes.rst: fix syntaxwm42017-02-101-1/+4
| | | | | | | The missing newline made the github rst renderer (which is a POS) hide the entire section. Also, add some more warning text.
* manpage: fix incorrect option name for --record-filewm42017-02-082-2/+2
| | | | | | Also the one in interface-changes.rst. Fixes #4121.
* player: add experimental stream recording featurewm42017-02-072-0/+24
| | | | | This is basically a WIP, but it can't remain in a branch forever. A warning is print when using it as it's still a bit "shaky".
* vo_opengl: angle: rewrite with custom swap chainJames Ross-Gowan2017-02-071-7/+61
| | | | | | | | | | | | | This replaces the old backend that exclusively used EGL windowing with one that can also use ANGLE's ability to render to directly to a texture. The advantage of this is that it allows mpv to create the swap chain itself and this allows mpv to use a flip-mode swap chain on a HWND (which avoids problems with DirectComposition) and to use a longer swap chain that has six backbuffers by default (which reportedly fixes problems with rendering 24fps video on 24Hz monitors.) Also, "screenshot window" should now work on DXGI 1.2 and up (Windows 8 and up.)
* manpage: Reorganise discussion of cuda hwdec to be less confusingPhilip Langdale2017-02-061-12/+8
| | | | | The existing discussion has managed to convince people they should use cuda-copy instead of cuda, which just isn't right.
* DOCS/edl-mpv.rst: fix typowm42017-02-051-1/+1
|
* ytdl_hook, edl: implement pseudo-DASH supportwm42017-02-041-3/+40
| | | | | | | | | We use the metadata provided by youtube-dl to sort-of implement fragmented DASH streaming. This is all a bit hacky, but hopefully a makeshift solution until libavformat has proper mechanisms. (Although in danger of being one of those temporary hacks that become permanent.)
* manpage: state that hwdec d3d11va requires Windows 8+S2F0amEgS2xvdmVy2017-02-031-2/+2
| | | As the manual entry for --hwdec states that d3d11va and d3d11va-copy require Windows, it can be assumed that it also works for Windows 7. Since it doesn't, according to https://github.com/mpv-player/mpv/issues/3285#issuecomment-228593539, and personal testing, updating the manual accordingly and making the hwdec OS requirements for ANGLE in line with videotoolbox, where OS version is stated.
* player: different way to auto-enable the demuxer cachewm42017-02-021-0/+2
| | | | | | | | | | | | | | | Instead of enabling it only when a stream-cache is enabled, also try to enable it independently from that if the demuxer is marked as is_network. Also add some code to the EDL code, so EDLs containing network streams are automatically cached this way. Extend the OSD info line so that it shows the demuxer cache in this case (more or less). I didn't find where or whether options.rst describes how the demuxer cache is enabled, so no changes there.
* sub: add justify of subtitlesDan Oscarsson2017-02-012-0/+14
| | | | | | | | To make it easier for the eyes, multi line subtitles should be left justified (for most languages). This adds an option to define how subtitles are to be justified inpendently of how they are aligned. Also add option to enable --sub-justify to be applied on ASS subtitles.
* win32: snap to screen edgespavelxdd2017-01-271-0/+3
| | | | | | | Disabled by default. The snap sensitivity value depends on the screen DPI. The default value is 16px on a 96 DPI screen. Fixes #2248
* stream_lavf: add support for data URIsRicardo Constantino2017-01-251-0/+4
| | | | | | | Only FFmpeg supports them and they need to be in the format data:// like other protocols or prefixed with ffmpeg:// or lavf://. Closes #4058
* manpage: add "A/V sync" to make it findable with Ctrl+foctos2017-01-251-1/+1
|
* sub: add option to force using video resolution for image subtitleswm42017-01-231-0/+7
| | | | Basically for debugging and dealing with broken files.
* player: remove --stream-capture option/propertywm42017-01-213-19/+5
| | | | | | | | | | | | | | | This was excessively useless, and I want my time back that was needed to explain users why they don't want to use it. It captured the byte stream only, and even for types of streams it was designed for (like transport streams), it was rather questionable. As part of the removal, un-inline demux_run_on_thread() (which has only 1 call-site now), and sort of reimplement --stream-dump to write the data directly instead of using the removed capture code. (--stream-dump is also very useless, and I struggled coming up with an explanation for it in the manpage.)
* command: rename framedrop propertieswm42017-01-202-2/+10
| | | | | | | | | | "drop-frame-count" -> "decoder-frame-drop-count" "vo-drop-frame-count" -> "frame-drop-count" This gets rid of the backwards "drop-frame" part in the name. Maybe calling the new property "frame-drops" would be better, but there are already a bunch of similar properties that end in "-count".
* x11: pseudo HiDPI scalingwm42017-01-191-1/+1
| | | | | | | | | | | | | | | | Scale the window by the assumed DPI scaling factor, using 96 DPI as base. For example, a screen that reports 192 DPI is assumed to have a DPI scale factor 2. The window will then be created with twice the size. For robustness reasons, we accept only integer DPI scales between 1 and 9. We also error out if the X and Y scales are very different, as this most likely indicates a multiscreen system with botched size reporting. I'm not sure if reading the X server's DPI is such a good idea - maybe the Xrdb "Xft.dpi" value should be used instead. The current method follows what xdpyinfo does. This can be disabled with --hidpi-window-scale=no.
* options: drop deprecated --sub-codepage syntaxwm42017-01-192-2/+4
|
* options: drop deprecated --vd/--ad codecs selection featureswm42017-01-192-12/+3
| | | | | Only simple selection works now. Using "-" to terminate codec selection remains in the code (might get undeprecated).
* player: add prefetching of the next playlist entrywm42017-01-181-0/+21
| | | | | | | | | | | | Since for mpv CLI, the player state is a singleton, full prefetching is a bit tricky. We do it only on the demuxer layer. The implementation reuses the old "open thread". This means there is significant potential for regressions even if the new option is not used. This is made worse by the fact that I barely tested this code. The generic mpctx_run_reentrant() wrapper is also removed - this was its only user, and its remains become part of the new implementation.
* vo_opengl, vo_opengl_cb: better hwdec interop backend selectionwm42017-01-173-4/+26
| | | | | | | | | | | Introduce the --opengl-hwdec-interop option, which replaces --hwdec-preload. The new option allows explicit selection of the interop backend. This is relatively complex, and I would have preferred not to add this, but it's probably useful to debug certain problems. In exchange, the "new" option documents that pretty much any but the simplest use of it will not be forward compatible.
* manpage: add comment about --alpha being broken on X11/EGL/Mesawm42017-01-161-0/+1
|
* lua: allow unregistration of idle handlersOlivier Perret2017-01-151-0/+5
|
* manpage: define stricter rules for C plugin return valueswm42017-01-141-2/+5
| | | | Just in case.
* manpage: fix a typowm42017-01-131-1/+1
|
* player: add experimental C plugin interfacewm42017-01-121-0/+56
| | | | | | | | | | | | | | | | | This basically reuses the scripting infrastructure. Note that this needs to be explicitly enabled at compilation. For one, enabling export for certain symbols from an executable seems to be quite toolchain-specific. It might not work outside of Linux and cause random problems within Linux. If C plugins actually become commonly used and this approach is starting to turn out as a problem, we can build mpv CLI as a wrapper for libmpv, which would remove the requirement that plugins pick up host symbols. I'm being lazy, so implementation/documentation are parked in existing files, even if that stuff doesn't necessarily belong there. Sue me, or better send patches.
* manpage: document x11probe OpenGL backendwm42017-01-061-0/+3
| | | | Fixes #3994.
* options: deprecate some other complex --ad/--vd featureswm42016-12-232-2/+4
| | | | | | | Who even needs those? Once these deprecations are gone, --ad/--vd are simple lists without any kind of complex matching.
* options: explicitly deprecate --ad-spdif-dtshdwm42016-12-231-0/+2
| | | | Has been less formally deprecated for a longer time.
* options: deprecate codec family selection in --vd/--adwm42016-12-232-8/+12
| | | | | Useless now, so get rid of it. Also affects some user-visible display things (like reported codec in use).
* audio: change how spdif codecs are selectedwm42016-12-232-4/+5
| | | | | | | | | | | | | | 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.
* Fix mistakes in spelling and grammarDario Russo2016-12-211-1/+1
|
* options: change --h=... behaviorwm42016-12-161-3/+4
| | | | | Does not match a shell pattern anymore. Instead, a simple sub-string search is done.
* cocoa: fullscreen refactoringAkemi2016-12-152-4/+1
| | | | | | | | | | 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
* manpage: add table of contents to the HTML versionZhiming Wang2016-12-141-0/+2
| | | | | | | | 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.
* manpage: document current and legacy option syntax betterwm42016-12-121-0/+28
| | | | | | | I thought it ewas already documented, but I'm not seeing it anywhere. Maybe it did exist, but was deleted. See #3899.
* manpage: clarify --loop optionwm42016-12-121-2/+2
| | | | Fixes #3899.
* charset_conv: simplify and change --sub-codepage optionwm42016-12-092-52/+23
| | | | | | | 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.
* manpage: replace `-vo` with `--vo`Douglas Christman2016-12-081-2/+2
|
* manpage: remove mention of window alpha (OSX)Akemi2016-12-081-4/+1
| | | | | | | This is not implemented and i don't even know if it ever was. Also remove a trailing whitespace. Fixes #3866
* manpage: move the --opengl-dumb-mode option downwm42016-12-071-14/+14
| | | | | | | 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.
* demux, stream: add option to prevent opening referenced fileswm42016-12-041-0/+20
| | | | Quite irresponsibly hacked together. Sue me.
* options: remove deprecated sub-option handling for --vo and --aowm42016-11-253-10/+4
| | | | | | | | Long planned. Leads to some sanity. There still are some rather gross things. Especially g_groups is ugly, and a hack that can hopefully be removed. (There is a plan for it, but whether it's implemented depends on how much energy is left.)
* DOCS/compile-windows: be more specific about the D3D compiler DLLMartin Herkt2016-11-231-7/+6
| | | | Also provide a more useful link to _43 and _47.
* vo_opengl: hwdec_cuda: Support P016 output surfacesPhilip Langdale2016-11-221-2/+2
| | | | | | | | | The latest 375.xx nvidia drivers add support for P016 output surfaces. In combination with an ffmpeg change to return those surfaces, we can display them. The bulk of the work is related to knowing which format you're dealing with at the right time. Once you know, it's straight forward.
* options: remove legacy global sub-option syntaxwm42016-11-221-0/+2
| | | | | | A bit of sanity, although a very small one. --vo sub-options are not affected by this yet.
* command: redefine some deprecated propertieswm42016-11-222-4/+12
| | | | | | | | | | | | | | As threatened by the API changes document. We can actually keep the deprecated --playlist-pos and --cache options, since they are aliases and not used by the corresponding properties. They are inconsistent, but do no harm. Keep them for now for the sake of the command line user. mpv_identify.sh partially stopped working, because it was never updated. The shell magic can't deal with property names that contain "/", so we can't replace "samplerate" with "audio-params/samplerate" - just remove these properties. (How about you use ffprobe?)
* vf_vdpaurb: remove this filterwm42016-11-222-9/+2
| | | | Was deprecated, superseded by --hwdec=vdpau-copy.
* client API: turn mpv_suspend() and mpv_resume() into stubswm42016-11-223-34/+10
| | | | | | |