[Kdenlive-devel] OpenGL monitor display
dan at dennedy.org
Mon Sep 27 17:46:13 UTC 2010
On Sun, Sep 26, 2010 at 4:01 PM, jb <jb at kdenlive.org> wrote:
> A quick note to tell you that I have been playing with the OpenGL monitor
> widget that was written by Dan to replace SDL monitors on Mac OS, and I am
> thinking about switching everyone (I mean Linux / FreeBSD users) to this
> OpenGL display.
> There are currently several drawbacks:
> * OpenGl display is slower than SDL (might be improved by better integration
> between OpenGL and MLT or maybe by an OpenGL expert...) which means the frame
> rate is slightly slower - at least for me.
Be careful of people comparing it with techniques used by media
players that have much simpler requirements. For example, integrating
the presentation portion of the VDPAU, which I have mentioned
previously. Another one is using pixel shaders for colorspace
conversion. The problem with that is that we already must do
colorspace conversion potentially a few times to satisfy processing
requirements. Maybe it is better to keep it consistent so we can
enforce standard luma coefficients and range (see recent mlt commit).
OTOH, it may be nice for the OpenGL consumer to accept YUV or RGB and
do the last conversion on GPU if needed. However, MLT currently
requires the consumer to express an interest in one or the other and
not an indifference.
> * OpenGL might not be available an every hardware.
You will still need something SDL-based in MLT for the audio output
unless you add even more in Kdenlive. So, you may as well keep the SDL
option mentioned below. If however, you decide to go all of the way
then I suggest you implement the MLT consumer directly in the app and
not worry about making it as a MLT module.
> The positive points:
> * OpenGl integrates better than SDL in Qt/KDE, which means for example that if
> you have a dual monitor setup youcan have fullscreen video display on one
> monitor, with the other one showing Kdenlive (I just committed this a few
> hours ago in svn).
> * No more flicker on pause / play.
> * This will probably solve the multiple SDL concurency related crashes (mostly
> experienced when starting Kdenlive or loading a project).
Maybe or maybe exchange it for a different set of problems or maybe
the existing SDL can be fixed.
> As a first step, I will probably allow users to choose between SDL and OpenGL
> in a config option.
That would be nice at least for a little transition during the development.
> For those interested, I think I will try to rewrite parts of the Monitor stuff
> which is currently a bit messy so that we can have a slightly cleaner
> communication between timeline, monitors and MLT.
> Comments welcome.
Please have a look at the Qt Overpainting example for how to integrate
QPainter with QGLWidget as this is something I did not get around to
More information about the Kdenlive