Talk:Playback profiles
From MythTV Official Wiki
Creating this page following the excellent advice given here: Thread on Video Renderers Rbsteffes 15:37, 26 September 2007 (UTC)
Here's the text of the email:
Brian As far as I'm aware, there is no documentation for playback profiles. In a nutshell (largely from memory, definitely incomplete and likely to be innacurate!):- - define a resolution/range of resoltions for which you would like a specific playback profile. - pick a decoder - select from software decoders (nuppeldecoder, ffmpeg, libmpeg2) or hardware assisted decoders (ivtv/pvr350, xvmc, mac, via-xvmc). Your choice is dependant on your hardware and will determine which renderers are available. - pick a renderer - for a typical Xorg setup with drivers installed, you'll be able to pick from:- - xlib - all scaling, colour conversion etc will be done in software. This should probably be your renderer of last resort (and the code assumes it is, if it has to fall back to something). - xshm - (slightly?) better than xlib and makes use of shared memory to speed up memory transfers. - xv-blit - this is the standard xvideo that most people will be familiar with. Colour conversion and scaling are handled by the gpu and colour/hue/contrast adjustments may be available (dependant on your graphics card and drivers) - xvmc-blit - xvmc that many people know and love. The gpu handles certain elements of the mpeg2 decoding process to lower cpu usage. There are implications for the onscreen display which is typically only rendered in grayscale. - xvmc-opengl - this takes advantage of a feature only available through the nvidia proprietry drivers. The partially decoded/xvmc frames are rendered directly into an openl window. The main advantage is that opengl can be used to render a colour osd at the resolution of the display. - opengl. The opengl framework is used to render the video. The gpu can be used to assist in colourspace conversion, scaling, osd rendering, displaying PiP and deinterlacing. At the moment, the advantages are; osd rendered at the screen resolution and a wider range of frame rate doubling deinterlacers. You will probably need a fairly recent graphics card to take advantage of all of these features. - other renderers are platform/hardware dependant:- - directfb - accesses the framebuffer directly where driver/hardware support is available. Some acceleration may be available (e.g. scaling) - ivtv - specific to users of PVR350s - directx - for a windows frontend... - quartz - mac related but I know nothing about these. - pick an osd rendering method - softblend - this is the standard approach where the osd is blended into the video frame in software. Main disadvantages are flickering when using a bob deinterlacer and osd is generated at the resolution of the video source. - chromakey/ia44blend - from memory both are specific to generating a colour osd when using xvmc (but I've never used them) - opengl. The various opengl osd renderers (which one depends on your video renderer) should all show the osd at the display resolution and shouldn't flicker when using bob. - then pick a primary and secondary deinterlacer (I won't go into those now - must do some work) Bear in mind that there is also an interaction between playback profiles and xrandr if you are using it (e.g. you might switch to a 1080i/p mode to play back 1080i/p mpeg2 material and use xvmc as the decoder/renderer combination at this resolution to assist with the extra decoding burden) Does that give you a start? Regards Mark
Rbsteffes 13:36, 28 September 2007 (UTC)