aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* vo_opengl: EGL: dump some version infoGravatar wm42016-09-14
|
* vo_opengl: EGL: better desktop-GL context creationGravatar wm42016-09-14
| | | | | | | | | | | | Stops Mesa from restricting us to OpenGL 3.0. It also tries to create GLES 3 contexts for drivers which do not just return a higher context when requesting GLES 2. I don't know whether this code is a good or bad idea. A not-so-good aspect is that we don't check for EGL 1.5 (or 1.4 extensions) for some of the more advanced context attributes. But EGL implementations should be able to tolerate it and return an error, and then we'd use the fallback.
* vo_opengl: EGL: silence eglBindAPI() error messageGravatar wm42016-09-13
| | | | | It's not helpful and will be printed with EGL implementations that don't support OpenGL at all. Just shut it up.
* vo_rpi, vo_opengl: separate RPI/EGL-specific code for both VOsGravatar wm42016-09-13
| | | | | | | | | This used to be shared, but since vo_rpi is going to be removed, untangle them. There was barely any actual code shared since the recent changes anyway. As a subtle change, we also stop opening libGLESv2.so explicitly in the vo_opengl backend, and use RTLD_DEFAULT instead.
* vo_opengl: rpi: use new egl context creation helper functionGravatar wm42016-09-13
| | | | Only for the "new" vo_opengl backend code.
* vo_x11: fix some ifdefferyGravatar wm42016-09-13
| | | | This failed to compile when xext was not available.
* vo_opengl: mali fbdev supportGravatar wm42016-09-13
| | | | | | | | | | | | Minimal support just for testing. Only the window surface creation (including size determination) is really platform specific, so this could be some generic thing with platform-specific support as some sort of sub-driver, but on the other hand I don't see much of a need for such a thing. While most of the fbdev usage is done by the EGL driver, using this fbdev ioctl is apparently the only way to get the display resolution.
* vo_opengl: factor some EGL context creation codeGravatar wm42016-09-13
| | | | | | | Add a function to egl_helpers.c for creating an EGL context and make context_x11egl.c use it. This is meant to be generic, and should work with other windowing APIs as well. The other EGL-using code in mpv can be switched to it.
* DOCS/interface-changes.rst: minor cleanupGravatar wm42016-09-13
| | | | | | | Edit the 0.21.0 section: remove the redundant vo_opengl items, move some up. Move the additions (which are less important and which aren't documented completely anyway) below the incompatible changes/deprecations.
* manpage: vo_rpi -> vo_openglGravatar wm42016-09-13
|
* vo_opengl: fix typo in bt.601 auto-guessing logicGravatar Niklas Haas2016-09-13
| | | | | | | The wrong enum got copied here, so it was essentially using the transfer characteristics as the primaries (instead of the primaries), which accidentally worked fine most of the time (since the two usually coincided), but broke on weird/mistagged files.
* player: Save sub-speed value when resuming playbackGravatar Vladimir Panteleev2016-09-13
|
* player: Improve OSD formatting of sub-speed optionGravatar Vladimir Panteleev2016-09-13
|
* player: Apply new sub-speed values during playbackGravatar Vladimir Panteleev2016-09-13
|
* sub: Add SD_CTRL_UPDATE_SPEEDGravatar Vladimir Panteleev2016-09-13
|
* ytdl_hook: don't bother adding subtitles if duration isn't knownGravatar Ricardo Constantino2016-09-13
| | | | EDL doesn't work with subtitles with unknown length.
* ytdl_hook: Support playlist entries without subtitlesGravatar Ricardo Constantino2016-09-13
| | | | | | | | | | | | | Fixes missing subtitle tracks if the first entry didn't have any. Previously it just checked for the first entry in the playlist for requested languages and if that entry happened to not have subtitles they also wouldn't show up for the other entries. It will skip languages if the first entry with subs has less or different languages than the others. Unrelated to http_dash_segments.
* vo_rpi: deprecate this VOGravatar wm42016-09-12
|
* vo: change defines to an enumGravatar wm42016-09-12
| | | | | (They're flags, so it still doesn't make sense to actually name the enum and use it as a type.)
* vo_opengl: fix non-C11 TLS fallback for gccGravatar wm42016-09-12
| | | | | | The consequence of this was that e.g. hardware decoding with VAAPI-EGL could sometimes not work if the compiler didn't support C11. (Although I found this one on RPI, which also uses this mechanism.)
* vo_opengl: better behavior in GL error corner casesGravatar wm42016-09-12
| | | | | | | | | | | If the shader fails to compile, and assertion could trigger in gl_sc_gen_shader_and_reset() due to the code trying to recreate the shader every time, and re-appending the uniforms every time. Just reset the uniform array to fix this. Some disturbed GL drivers might not return anything for glGetShaderiv() if the GL state got "lost", so initialize variables just for additional robustness.
* vo_opengl: rpi: merge vo_rpi featuresGravatar wm42016-09-12
| | | | | | | | | | | Since vo_rpi is going to be deprecated, better port its features to the vo_opengl backend. The most tricky part is the fact that recreating dispmanx elements will conflict with the GL context. Fortunately, RPI's EGL support is reasonably compliant, and we can transplant the context to newly created dispmanx elements, making this much easier. This means unlike vo_rpi, the GL state will actually not be recreated.
* vo_opengl: redirect window screenshot requests to backendGravatar wm42016-09-12
| | | | | | If the glReadPixels method is not available, let the backend do it. Useful for the next commit.
* vo_opengl: add hw overlay support and use it for RPIGravatar wm42016-09-12
| | | | | | | | | | | This overlay support specifically skips the OpenGL rendering chain, and uses GL rendering only for OSD/subtitles. This is for devices which don't have performant GL support. hwdec_rpi.c contains code ported from vo_rpi.c. vo_rpi.c is going to be deprecated. I left in the code for uploading sw surfaces (as it might be slightly more efficient for rendering sw decoded video), although it's dead code for now.
* man: fix building pdfGravatar shinchiro2016-09-12
|
* command: don't log "ignore" command with -v verbosityGravatar wm42016-09-11
| | | | | It's damn annoying because the mouse move input event is mapped to this by default.
* client API: don't miss property changes after updatesGravatar James Ross-Gowan2016-09-11
| | | | | | | | | | | | | | | | | | When update_prop() successfully fetches a changed property value, it sets prop->changed to true. mark_property_changed() only sets prop->need_new_value if prop->changed is false, so this had the effect of ignoring new property values until prop->changed was set back to false in the next call to gen_property_change_event(). This meant that when a property change event was generated for a property that was not observed with MPV_FORMAT_NONE, it would contain the value associated with the earliest property change, rather than the most recent, and the property change event for the most recent change would never be generated. To fix this, mark_property_changed() should unconditionally set prop->changed and prop->need_new_value, which will cause the property value to be re-fetched and a property change event to be generated for the most recent value.
* hwdec_cuda: Add trivial cuda-copy wrapperGravatar Philip Langdale2016-09-11
| | | | | | | | | The cuvid decoder already knows how to copy back to system memory if NV12 frames are requested, and this will happen if the decoder is used without the hwdec. For convenience, let's add a wrapper hwdec so people don't have to explicitly pick the cuvid decoder if they want this behaviour.
* options: fix another minor regressionGravatar wm42016-09-11
| | | | vf_scale's "h" sub-option was interpreted as "--h".
* hwdec_cuda: Implement download_image for screenshotsGravatar Philip Langdale2016-09-10
| | | | Data has to be copied to system memory for screenshots.
* build: recompile zsh completion if zsh.pl changesGravatar Philip Sequeira2016-09-10
|
* TOOLS/zsh.pl: don't filter files by extensionGravatar Philip Sequeira2016-09-10
| | | | | | | Closes #2273. See that issue for explanation/discussion. I'll add examples on how to filter in your own config to the wiki soon: https://github.com/mpv-player/mpv/wiki/Zsh-completion-customization
* TOOLS/zsh.pl: die if we can't parse main optionsGravatar Philip Sequeira2016-09-10
| | | | | | | | | | | | | | | | This will catch cases where mpv runs without error, but the --list-options output isn't what we expect. Otherwise, we'll make a broken completion file that will result in cryptic errors when pressing tab, like: _mpv:18: command not found: *:files:->mfiles That's been the case for most of the zsh completion issues we've had reported, that I can remember. Also make uninitialized variable access fatal so that failures to parse other options will also make the script die eventually, albeit with a less nice message.
* options: fix --list-options after previous commitGravatar wm42016-09-10
| | | | Fixes #3509.
* options: make --h list options according to a pattern passed to itGravatar wm42016-09-10
| | | | | | Useless feature, but I want it. Won't work on Windows due to missing fnmatch().
* m_config: remove another unused leftoverGravatar wm42016-09-10
|
* stream_cb: don't add "*://" to protocol listGravatar wm42016-09-10
| | | | | | | | | --list-protocol was printing a *:// entry, which looked strange at best. The "*" protocol was used to always match everything, so stream_cb.c could hook in custom protocols with a prefix chosen by the API user. Change it instead so that an empty protocol list means "match all", which also gets rid of the special-cased "*" entry.
* command: do not call mp_switch_track() before proper initializationGravatar wm42016-09-10
| | | | | | | | | | | This is an awful corner-case party, because we've started to allow the user to send track-switching related commands before stream selection is done in the loading stage. If mp_switch_track() is called before this stream selection, it can behave inconsistently. So if we're in the pre-loading phase, we must set the stream selection options to get streams selected later, instead of calling this function. There seem to be some annoying circumstances that exclude mp_switch_track() from handling this logic too, so do it at all call-sites.
* man: fix typoGravatar bugdone2016-09-10
|
* hwdec_cuda: Use the non-deprecated CUDA-GL interop APIGravatar Philip Langdale2016-09-10
| | | | | | | | | | The nvidia examples use the old (as in CUDA 3.x) interop API which is deprecated, and I think not even functional on recent versions of CUDA for windows. As I was following the examples, I used this old API. So, let's update to the new API, and hopefully, it'll start working on windows too.
* player: fix average frame duration calculationGravatar sda89ha92016-09-09
|
* stream, demux, config: remove some dead/unneeded option-related codeGravatar wm42016-09-09
| | | | | | | | | | This has all been made unnecessary recently. The change not to copy the global option struct in particular can be made because now nothing accesses the global options anymore in the demux and stream layers. Some code that was accidentally added/changed in commit 5e30e7a0 is also removed, because it was simply committed accidentally, and was never used.
* stream_cdda: remove weird option parsing stuffGravatar wm42016-09-09
| | | | | | | | | | Mostly untested. This is not compatible. It removes the URL fields for track range and cdrom speed (what did this even do). The device is not not to be prefixed with an additional "/" if it's put into the URL. I can't be bothered to keep these things compatible, just rip your damn CDs instead.
* tv: remove weird option parsing stuffGravatar wm42016-09-09
| | | | Mostly untested.
* stream_dvb: remove weird option parsing stuffGravatar wm42016-09-09
| | | | Mostly untested.
* man/options: Document cuda hwdec.Gravatar Philip Langdale2016-09-09
|
* client API: fix error code stringGravatar wm42016-09-09
| | | | Said "audio" instead of "video".
* client API: make mpv_opengl_cb_uninit_gl() behavior slightly nicerGravatar wm42016-09-09
| | | | | | Instead of deselecting the video stream plainly, use the slightly more robust error_on_track() function. Also give it an error code (although I'm not sure if this one is confusing, it's better than the one before).
* stream_dvd, stream_dvdnav: remove weird option parsing stuffGravatar wm42016-09-08
| | | | | | Same deal as with stream_bluray. Untested because I don't give a fuck about your shitty DVDs.
* options: drop unreferenced --bluray-angle optionGravatar wm42016-09-08
| | | | | Uh, what? It wasn't used at all. It was probably accidentally dropped at one point, or it was never used at all. Whatever, who cares.