On Thu, Jul 01, 2004 at 02:31:56PM +0200, Kristof Pelckmans wrote: > Hello, > > Can anyone give me any tips how to setup your surfaces to do hardware > deinterlacing for the following situation : > > input: > A yv12 buffer where even lines represent one field and uneven lines represent > another field of an interlaced video. It is currently stored in a regular yv12 > surface allocated in system memory. This stream comes from an mpeg interlaced > encoder for SDTV - [EMAIL PROTECTED] > > output: > A yv12 surface on the bes layer of my matrox card. The resulting output should > be a progressive signal. > > How do I have to setup the bes surface so I can blit from the buffered surface > to the output surface in a way that the bes layer does the deinterlacing ? Do I > have to pay attention to vsync ? > > I had a look at the docs, but it is not quite clear how I have to fill the > fields of the surface and how I enable hardware deinterlacing. Maybe I have to > speed up to 50 fields per second ?
Sounds like your source surface has the correct format already so you can just blit the data to the BES surface. You enable the deinterlacing with DLOP_DEINTERLACING. And yes you need to double the original frame rate because the BES only displayes one field at a time. You select the active field with IDirectFBSurface::SetField(). The deinterlacing process itself consists of shifting the bottom field vertically by half a line. -- Ville Syrj�l� [EMAIL PROTECTED] http://www.sci.fi/~syrjala/
