On Thursday 27 October 2005 18:28, Mark Adams wrote: > OK, when I get a moment. The problem only occurs about 1 in every 20 > times you start an application so you don't see it often.
Sometimes my TV-out seems worse than others but that may just be down to what channel I'm tuned to, i.e. whether the source is interlaced or not. > > How do I enable DLOP_FIELD_PARITY? I presume that has to be somewhere in > > the DirectFB initialisation bits of the code. What flags do I want for > > the flip calls? > > You shouldn't need to change the flipping (but the most efficient > method would be tripple buffering and no wait). I need to read up on triple buffering. I think softdevice is currently double buffered, although looking again I don't think it is changed from the default, whatever that it, apart from Matrox cards where it is set to DLBM_BACKVIDEO. > To enable DLOP_FIELD_PARITY, find where the code sets the > configuration on the video layer. Set the 'options' field of the > layer config to include DLOP_FIELD_PARITY (ensuring that flags > includes DLCONF_OPTIONS) before calling SetConfiguration(). Then call > SetFieldParity(0) on the layer. > > Here's how I do it. Note that this is C++/++DFB code so the syntax > won't be exactly the same for you. m_vlayer is the video layer: > > DFBDisplayLayerConfig layer_config; > DFBDisplayLayerDescription layer_desc; > > m_vlayer.SetCooperativeLevel(DLSCL_EXCLUSIVE); > layer_desc = m_vlayer.GetDescription(); > layer_config.flags = (DFBDisplayLayerConfigFlags) (DLCONF_BUFFERMODE | > DLCONF_PIXELFORMAT | DLCONF_OPTIONS); > layer_config.buffermode = DLBM_TRIPLE; > layer_config.pixelformat = DSPF_YV12; > layer_config.options = DLOP_NONE; > if (layer_desc.caps & DLCAPS_FIELD_PARITY) > layer_config.options = DLOP_FIELD_PARITY; > m_vlayer.SetConfiguration(layer_config); > if (layer_desc.caps & DLCAPS_FIELD_PARITY) > m_vlayer.SetFieldParity(0); Cheers. I can see where similar stuff is set for Matrox cards in softdevice. I'll have a go at adapting it for Unichrome cards. Probably won't be until tomorrow evening, though. I need to get back into the code. Thanks, Laz _______________________________________________ directfb-users mailing list [email protected] http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users
