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
