aboutsummaryrefslogtreecommitdiffhomepage
path: root/DOCS
Commit message (Collapse)AuthorAge
* DOCS/interface-changes.rst: document --vf/--af deprecationsGravatar wm42017-04-04
| | | | | And also future directions. Basically, it tells the user that he can't hope for perfect forward-compatibility.
* video: support positional arguments for automatic lavfi option bridgeGravatar wm42017-04-03
| | | | | | Now e.g. --vf=pad=1000:1000 works. All in all pretty ugly and hacky. Just look away.
* video: add automatic libavfilter bridge to option parsingGravatar wm42017-04-02
| | | | | | | | | | Now you can for example do "--vf=hue=h=60" - there is no "hue" filter in mpv, so libavfilter's will be used. This has certain caveats (see manpage). The point of this is providing a relatively smooth transition path to removing our own filter stuff.
* video: deprecate almost all video filtersGravatar wm42017-04-02
| | | | | | | | | | | | | The plan is to nuke the custom filter chain completely. It's not clear what will happen to the still needed builtin filters (mostly hardware deinterlacing and vf_vapoursynth). Most likely we'll replace them with different filter chain concept (whose main purpose will be providing builtin things and bridging to libavfilter). The undocumented "warn" options are there to disable deprecation warnings when the player inserts filter automatically. The same will be done to audio filters, at a later point.
* manpage, client API: add some clarifications when commands use OSDGravatar wm42017-04-01
| | | | | The APIs that run commands in a more API-like manner disable OSD and string expansion by default.
* manpage: finish cut off sentenceGravatar wm42017-04-01
|
* player: make screenshot commands honor the async flagGravatar wm42017-04-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | And also change input.conf to make all screenshots async. (Except the every-frame mode, which always uses synchronous mode and ignores the flag.) By default, the "screenshot" command is still asynchronous, because scripts etc. might depend on this behavior. This is only partially async. The code for determining the filename is still always run synchronously. Only encoding the screenshot and writing it to disk is asynchronous. We explicitly document the exact behavior as undefined, so it can be changed any time. Some of this is a bit messy, because I wanted to avoid duplicating the message display code between sync and async mode. In async mode, this is called from a worker thread, which is not safe because showing a message accesses the thread-unsafe OSD code. So the core has to be locked during this, which implies accessing the core and all that. So the code has weird locking calls, and we need to do core destruction in a more "controlled" manner (thus the outstanding_async field). (What I'd really want would be the OSD simply showing log messages instead.) This is pretty untested, so expect bugs. Fixes #4250.
* input: add "async" flagGravatar wm42017-04-01
| | | | | | | | | | | Obviously, this has no effect on commands which do not support this explicitly. A later commit will enable this for screenshots. Also add some wording on mpv_command_async(), which has nothing to do with this. Having a more elegant, unified behavior would be nice. But the API function was not created for this - it's merely for running commands _synchronously_ on the core, but without blocking the client API caller (if the API user consistently uses only async functions).
* external_files: enable autoloading with URLsGravatar Ricardo Constantino2017-04-01
| | | | Closes #3264
* osc: escape ASS and strip newlines on titleGravatar Ricardo Constantino2017-03-27
|
* osc: make title configurable and use property expansion on itGravatar Ricardo Constantino2017-03-27
|
* Revert "osc: make the title toggleable between media-title and filename"Gravatar Ricardo Constantino2017-03-27
| | | | This reverts commit 6573b73462e336da0daca845ba4df02782afc2b6.
* osx: fix key input in certain circumstancesGravatar Akemi2017-03-26
| | | | | | | | | | | | | for a reason i can just assume some key events can vanish from the event chain and mpv seems unresponsive. after quite some testing i could confirm that the events are present at the first entry point of the event chain, the sendEvent method of the Application, and that they vanish at a point afterwards. now we use that entry point to grab keyDown and keyUp events. we also stop propagating those key events to prevent the no key input' error sound. if we ever need the key events somewhere down the event chain we need to start propagating them again. though this is not necessary currently.
* command: add expand-text command to property-expand a stringGravatar Avi Halachmi (:avih)2017-03-26
|
* osc: make the title toggleable between media-title and filenameGravatar Ricardo Constantino2017-03-26
| | | | Close #4221
* command: change and simplify filter toggle syntaxGravatar wm42017-03-26
| | | | | | | | | | | "@name:!" becomes simply "@name". This is actually slightly more complex to parse, but makes for a much simpler syntax and will be less weird to the user. Suggested by haasn. The old syntax is now rejected with an error. Also add some more explicit error checks, instead of e.g. allowing empty filter names and erroring only when it's not found.
* vo_opengl: angle: add --angle-flip to set the present modelGravatar James Ross-Gowan2017-03-26
| | | | | | | | DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL might be buggy on some hardware. Additionaly DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL might be supported on some Windows 7 systems with the platform update, but it might have poor performance. In these cases, the user might want to disable the use of DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL swap chains with --angle-flip=no.
* m_option: consistent af/vf filter entry "enabled" flag default valueGravatar wm42017-03-25
| | | | | | | It should default to true, but setting the filter list via mpv_node (relevant for client API and Lua scripting) left it to false. Also "document" the flag.
* command: add better runtime filter toggling methodGravatar wm42017-03-25
| | | | | | | | | | Basically, see the example in input.rst. This is better than the "old" vf-toggle method, because it doesn't require the user to duplicate the filter string in mpv.conf and input.conf. Some aspects of this changes are untested, so enjoy your alpha testing.
* manpage: minor addition for --video-syncGravatar wm42017-03-25
| | | | Nobody needs to read all the text below it, really.
* sub: add SDH subtitle filterGravatar Dan Oscarsson2017-03-25
| | | | | | | | | | Add subtitle filter to remove additions for deaf or hard-of-hearing (SDH). This is for English, but may in part work for others too. This is an ASS filter and the intention is that it can always be enabled as it by default do not remove parts that may be normal text. Harder filtering can be enabled with an additional option. Signed-off-by: wm4 <wm4@nowhere>
* command: add demux-start-time propertyGravatar Matthias Hunstock2017-03-25
| | | | Add a demux_start_time property, update docs.
* vo_opengl: replace uniform variable image_size with input_sizeGravatar igv2017-03-25
| | | | | | input_size can be the size of a cropped image Signed-off-by: wm4 <wm4@nowhere>
* vo_opengl: add tex_offset uniform variable to user shadersGravatar igv2017-03-25
|
* vo_opengl: make size of a cropped source image available to user shadersGravatar igv2017-03-25
|
* af_drc: removeGravatar Jan Janssen2017-03-25
| | | | | | | | | | | | | | | | Remove low quality drc filter. Anyone whishing to have dynamic range compression should use the much more powerful acompressor ffmpeg filter: mpv --af=lavfi=[acompressor] INPUT Or with parameters: mpv --af=lavfi=[acompressor=threshold=-25dB:ratio=3:makeup=8dB] INPUT Refer to https://ffmpeg.org/ffmpeg-filters.html#acompressor for a full list of supported parameters. Signed-off-by: wm4 <wm4@nowhere>
* manpage: add empty line between protocol header/descriptionGravatar wm42017-03-25
| | | | Appears to give better formatting. (I'll never understand rst...)
* manpage: explain more about outstanding dvdnav bugsGravatar Frederick Eaton2017-03-25
|
* command: add a property to signal whether networking is usedGravatar wm42017-03-24
| | | | | | Requested. The property semantics are a bit muddy due to lack of effort. Anticipated use is different display of cache status, so it should not matter anyway.
* manpage: fix a typoGravatar wm42017-03-20
|
* vo_opengl: add a --opengl-es=force2 optionGravatar wm42017-03-20
| | | | | | | Useful for testing. Unfortunately, the nVidia EGL driver ignores this, and returns a GLES 3.2 context anyway (which it is allowed to do). Might still be useable with ANGLE, which will really give you a GLES 2 context if you ask for it.
* vo_opengl: add experimental vdpauglx backendGravatar wm42017-03-18
| | | | | | | | | | | | | | | | 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 handlingGravatar wm42017-03-18
| | | | | | | | | | | | | | | | 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 formatsGravatar wm42017-03-18
| | | | Nobody cares about those.
* manpage: slightly improve screenshot-raw descriptionGravatar wm42017-03-18
|
* manpage: minor clarification to screenshot command argument handlingGravatar wm42017-03-15
|
* manpage: adjust description of libva deinterlacer ref direction messGravatar wm42017-03-07
| | | | | | | | | | 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 formatGravatar wm42017-03-02
| | | | | | | 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 driversGravatar wm42017-02-28
| | | | | | | | | | | | | | | 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 GPUGravatar Akemi2017-02-27
| | | | Fixes #3242
* demux_lavf: skip avformat_find_stream_info() for some formatsGravatar wm42017-02-23
| | | | | | | | 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 backendGravatar wm42017-02-20
| | | | | | | | | 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 furtherGravatar wm42017-02-17
| | | | | 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 iOSGravatar Aman Gupta2017-02-17
| | | | | | 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 functionGravatar wm42017-02-17
| | | | | | | | | | | | | | | | 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 entryGravatar wm42017-02-17
| | | | The option was removed a while ago.
* DOCS/waf-buildsystem.rst: fix typoGravatar Pedro Pombeiro2017-02-15
| | | | Signed-off-by: wm4 <wm4@nowhere>
* cocoa: add --ontop-level option for modifying ontop window levelGravatar Akemi2017-02-13
| | | | | | | | | | 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 bracingGravatar wm42017-02-11
|
* DOCS/mplayer-changes.rst: fix syntaxGravatar wm42017-02-10
| | | | | | | The missing newline made the github rst renderer (which is a POS) hide the entire section. Also, add some more warning text.