Quoting Gaubatz Patrick:
> First of all: Thanks for your efforts on the DirectFB library! 
> I wanted to know, how good DFB together with DVB-Cars works. 
> I especially read on the Mailinglist, that it is currently possible to render 
> the videostream of a DVB-card directly onto a surface. 
> Is that really true and if yes, are there any known problems with this 
> implentation? 

Yes, you can simply have the video stream decoded into a DirectFB surface
via DMA. You can do everything you want with that surface including alpha
blending, colorizing, stretching etc. Check df_window or df_video_particle
with the device as their argument.

> I also read the deinterlacing should also be possible... 

You can create surfaces or windows with DSCAPS_INTERLACED. This doesn't
change the memory layout, but just indicates that even and odd lines don't
fit together.

Deinterlacing via Blit() is done the following way:

1. Create an offscreen surface with DSCAPS_INTERLACED.
2. Create a video provider and call PlayTo() on that surface.
3. Within the frame callback call Blit() on another surface (destination)
   with blitting flag DSBLIT_DEINTERLACE.

The video provider automatically calls SetField() which selects the input
field for blitting. The blitter reads from that field only, but stretches
it vertically by factor 2.

Another way using the BES (Matrox video overlay) for example:

1. Get an interface to the layer via dfb->GetDisplayLayer().
2. Enter exclusive cooperative level via layer->SetCooperativeLevel().
3. Set the display layer configuration to include DLOP_DEINTERLACING.
4. Get access the layer's surface via layer->GetSurface().
5. Create a video provider and call PlayTo() on that surface.

The rest is handled internally, e.g. switching the displayed field.

> Is there any example code of DFB together with DVB-cards? 

There are some V4L capable examples: df_window, df_video_particle, df_layer.

Unfortunately, they aren't dedicated examples for deinterlacing etc.

> I mean i saw a screenshot on the homepage, which shows some GTK-Windows and an 
> transparent videowindow... 
> It would be nice if someone could explain, what currently is possible and what 
> would probably never be possible. 

It depends on your hardware, e.g. blitting from YUV to RGB is not implemented
in the software driver. Deinterlacing in software driver doesn't interpolate
between lines.

> PS: I tried to "Doxygen" the source, but nothing useful turned out. 
> Somebody has got a working Doxyfile?! 

The special way of DirectFB's API is not understood by those parsers.

You may have luck with a preprocessed version of the header.

-- 
Best regards,
  Denis Oliver Kropp

.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/                 |
"------------------------------------------"

                            Convergence GmbH


-- 
Info: To unsubscribe send a mail to [EMAIL PROTECTED] with 
"unsubscribe directfb-users" as subject.

Reply via email to