summaryrefslogtreecommitdiffstats
path: root/DOCS/client_api_examples/qml/main.qml
Commit message (Collapse)AuthorAgeFilesLines
* DOCS: remove client API exampleswm42016-03-101-71/+0
| | | | Moved to: https://github.com/mpv-player/mpv-examples
* vo_opengl: remove sharpen scalers, add sharpen sub-optionwm42015-09-231-1/+1
| | | | | | | | | | | | This turns the old scalers (inherited from MPlayer) into a pre- processing step (after color conversion and before scaling). The code for the "sharpen5" scaler is reused for this. The main reason MPlayer implemented this as scalers was perhaps because FBOs were too expensive, and making it a scaler allowed to implement this in 1 pass. But unsharp masking is not really a scaler, and I would guess the result is more like combining bilinear scaling and unsharp masking.
* manpage: minor changeswm42015-01-231-1/+1
| | | | | | Mostly related to vo_opengl. Fix the opengl lscale option in the qml example too.
* DOCS/client_api_examples: qml: add test for gamma controlwm42015-01-061-10/+23
| | | | Provides a dumb test for the functionality added in the previous commit.
* DOCS/client_api_examples: qml: add test for vo_cmdlinewm42015-01-051-7/+25
|
* DOCS/client_api_examples: qtquick: fix destructionwm42014-12-301-1/+2
| | | | | | | | | | | | | | | | Destruction (e.g. when closing the window) was a bit broken. This commit fixes some possible crashes, and should make lifetime management relatively sane. (Still a bit complex, though. Maybe this code should be moved into a tiny library.) QtQuick runs the renderer on a separate thread. This thread is rather loosely connected to the main thread. The loose separation is enforced by the API, which also makes coordination of initialization and destruction harder. Throw refcounting at the problem, which fixes it. The refcounting wrapper introduced in the previous commit is used for this. Also contains some general cleanups.
* client API: expose OpenGL rendererwm42014-12-091-0/+39
This adds API to libmpv that lets host applications use the mpv opengl renderer. This is a more flexible (and possibly more portable) option to foreign window embedding (via --wid). This assumes that methods like context sharing and multithreaded OpenGL rendering are infeasible, and that a way is needed to integrate it with an application that uses a single thread to render everything. Add an example that does this with QtQuick/qml. The example is relatively lazy, but still shows how relatively simple the integration is. The FBO indirection could probably be avoided, but would require more work (and would probably lead to worse QtQuick integration, because it would have to ignore transformations like rotation). Because this makes mpv directly use the host application's OpenGL context, there is no platform specific code involved in mpv, except for hw decoding interop. main.qml is derived from some Qt example. The following things are still missing: - a way to do better video timing - expose GL renderer options, allow changing them at runtime - support for color equalizer controls - support for screenshots