[mythtv-commits] mythtv commit: r23135 - in branches/libmythui-osd by markk

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Thu Jan 14 14:59:29 UTC 2010


      Author: markk
        Date: 2010-01-14 14:59:28 +0000 (Thu, 14 Jan 2010)
New Revision: 23135
   Changeset: http://svn.mythtv.org/trac/changeset/23135

Added:

   branches/libmythui-osd/themes/default-wide/osd.xml

Modified:

   branches/libmythui-osd/libs/libmythtv/DVDRingBuffer.cpp
   branches/libmythui-osd/libs/libmythtv/NuppelVideoPlayer.cpp
   branches/libmythui-osd/libs/libmythtv/NuppelVideoPlayer.h
   branches/libmythui-osd/libs/libmythtv/openglcontext.cpp
   branches/libmythui-osd/libs/libmythtv/osd.cpp
   branches/libmythui-osd/libs/libmythtv/osd.h
   branches/libmythui-osd/libs/libmythtv/osdchromakey.cpp
   branches/libmythui-osd/libs/libmythtv/playercontext.cpp
   branches/libmythui-osd/libs/libmythtv/playercontext.h
   branches/libmythui-osd/libs/libmythtv/tv_play.cpp
   branches/libmythui-osd/libs/libmythtv/tv_play.h
   branches/libmythui-osd/libs/libmythtv/videoout_d3d.cpp
   branches/libmythui-osd/libs/libmythtv/videoout_opengl.cpp
   branches/libmythui-osd/libs/libmythtv/videoout_vdpau.cpp
   branches/libmythui-osd/libs/libmythtv/videooutbase.cpp

Log:

Branch libmythui-osd: Enable OSD painting using libmythui.

This is a limited implementation and provides the basic OSD functions
only.

What's missing (that you might expect to still be there)
- the OSD menu
- OSD dialogues
- all forms of subtitles, teletext, itv (MHEG) and dvd menu buttons
- the edit bar
- no movement during fade
- other stuff that I never use and haven't even thought about yet...

What's broken (that I know of)
- OpenGL playback (see below)
- proper scaling/positioning when using the XvMC IA44 or normal alpha
blended OSD (i.e. XVideo/XvMC)
- some OSD behaviour is broken (e.g. can't clear av sync or picture
attribute adjustments)
- (relatively minor) breakage in frame ordering for software decoded
VDPAU playback (pause frame issue)

What's not working as well as it used to
- some minor/occasional on-screen garbage (i.e some windows not being
cleared when they should)
- a small but significant performance regression in VDPAU playback (not
OSD related)
- alpha blending (i.e. normal XVideo) performance has taken a noticeable
hit
- fade times are ALL hard coded to 5 seconds
- there are some minor inconsistencies between painters in how alpha
blending is working.

What's new/different/better
- sizeable performance improvement for VDPAU, OpenGl and Direct3D. Fade
is just about smooth with a 1920x1080 sized OSD and 1080i h264 playback
on an Ion system - will hopefully be totally smooth once I've ironed out
the performance issue noted above.
- it's themeable in line with the main UI theme/s. alpha pulse,
animations, shapes, rects etc
- some small changes to allow theming of the status info (which will
break translations as well)

What didn't make it (yet)
- theming of the fade values and fade movement (possibly down to the
element level)
- more flexible OSD theming - i.e. let the themer decide on the number
and 'features' of each OSD window.
- context sensitive theming (e.g. video vs live tv)
- more themeable attributes such as video/audio properties, recording
status etc

Implementation wise, I've taken a scythe to much of the OSD code with a
view to adding back what is still needed/usefull to re-enable missing
functionality. All data is now passed via QString pairs and in the short
to medium term it is likely that the OSD class will be re-implemented
(again) as a MythScreenStack or sub-class thereof to ensure maximum
continuity between the OSD and main UIs.

OpenGL

OpenGL playback is totally broken on windows and will result in frequent
lock ups and/or segmentation faults on linux (OS X untested). This is
because we are creating and using QGlWidgets outside of the main UI
thread. Clearly this needs fixing before we can move forward.

I've included one basic, widescreen theme that doesn't really do justice
to what can be achieved.

Refs #7650.





More information about the mythtv-commits mailing list