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

Reply via email to