On Thursday 27 October 2005 18:28, you wrote:

> 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);

OK. I've just had a quick go at implementing this in the DierctFB output of 
vdr-softdevice. I now have almost perfect A-V sync with no stuttering / 
jumping in the sound. The picture looks good apart from those channels where 
the signal is interlaced (BBC 1 + BBC 2 on UK DVB-T for starters). This may 
not sound much but this is a great improvement for me!

Just about to test different flipping flags to see if that helps...

Cheers,

Laz

_______________________________________________
directfb-users mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users

Reply via email to