[mythtv-commits] Ticket #2649: Opengl video renderer
MythTV
mythtv at cvs.mythtv.org
Wed Jan 24 10:39:44 UTC 2007
#2649: Opengl video renderer
-----------------------------------------+----------------------------------
Reporter: mark_kendall at btinternet.com | Owner: danielk
Type: enhancement | Status: new
Priority: minor | Milestone: unknown
Component: mythtv | Version: head
Severity: medium | Resolution:
-----------------------------------------+----------------------------------
Comment (by mark_kendall at btinternet.com):
Version 2 of the OpenGL renderer(substantially re-written).
* Major changes
* Implements a simple, multipass filtering structure utilising
multiple framebuffer objects and/or multiple fragment programs.
* Includes opengl versions of each of the existing deinterlacers
(onefield, kernel, linearblend, bob) (N.B. these will deinterlace normal
softblend osd)
* Adds 3 new progressive scan versions of onefield, linearblend and
kerneldeint
* Mix and match software and opengl deinterlacers for main/fallback
deinterlacers.
* Adds an opengl rendered OSD. This uses the existing YUV osd frame
and alpha mask but does utilise the full screen size and resolution.
* Software yuv2rgb fallback if fragment programs are not available on
the graphics hardware.
* Added a seperate opengl class to handle the window/context and all
opengl resources (textures, fragment programs, framebuffers and 'non-
standard' function calls)
* Resizing of interactive tv is now handled in hardware if using the
opengl osd.
* Issues
* Xrandr support is at least partially broken.
* Some deinterlacers assume topfield first field ordering.
* Small off-by-one rendering innacuracies of interactive tv(MHEG) when
using opengl osd.
* Performance/quality
* NVidia 62XX series seems to be about the minimum needed for standard
definition progressive scan (using progressive kerneldeint - which is by
far the most GPU hungry) (FX5200 cannot cope with more then basic opengl
deinterlacing)
* NVidia 7600GS copes well with SD main video, pip and opengl osd
rendered at 720P
* Quality of the progressive scan deinterlacers is pretty good. They
cope very well with low to moderate movement but less well with fast
motion. (Also seem to handle frame rate discrepancies better than bobdeint
- eg PAL at 60Hz)
* If the GPU cannot handle the demands, CPU utilisation seems to go
through the roof...
* To Do
* Additional filters (lanczos and/or kaiser, denoise) - needs some
upstream intergration (also need some help with lanczos)
* More advanced deinterlacers (I've started to look at edge detection)
* Framerate conversions e.g. PAL to NTSC rates
* Performance improvements (minimise opengl state changes, does pip
need deinterlacing)
* Offscreen rendering for use by preview pip (ie hardware color
conversion and scaling) and maybe transcode?
--
Ticket URL: <http://cvs.mythtv.org/trac/ticket/2649#comment:2>
MythTV <http://www.mythtv.org/>
MythTV
More information about the mythtv-commits
mailing list