Hello all,

It's my first post here, and I have a lot of questions regarding directfb
and the effecient way to do things.

I'm using directfb on an embedded system, with viafb driver from your CVS,
the lib seems to be well compiled and installed with Unichrome and CLE266
gfxdrivers :

Screen (00) FBDev Primary Screen            (primary screen)
  Caps: VSYNC POWER_MANAGEMENT

    Layer (00) VIA CLE266 Graphics             (primary layer)
       Type:    GRAPHICS
       Caps:    SURFACE OPACITY ALPHACHANNEL SRC_COLORKEY BRIGHTNESS
CONTRAST SATURATION

    Layer (01) VIA Unichrome Video
       Type:    GRAPHICS VIDEO STILL_PICTURE
       Caps:    SURFACE OPACITY SCREEN_LOCATION DEINTERLACING DST_COLORKEY
LEVELS FIELD_PARITY SCREEN_POSITION SCREEN_SIZE

    Layer (02) VIA Unichrome DVD Subpicture
       Type:    GRAPHICS VIDEO STILL_PICTURE
       Caps:    SURFACE OPACITY


The goal of my app is to display some image frames which come in various
format at video timing ( about 25 fps) and to add on it some graphics and
sometimes some PiP.

I use the cle266 layer configured on AiRGB to perform the graphics
operations : drawlines , drawString ....  It works.

The unichrome layer ( with level = -1 ) is use to display the frames.

The frames are grabbed with V4L2 and after some processing come to me in
I420 ( YUV planar) or in RGB24 or in 8 bits grayscale ( one format  by
application start so I don't have to switch layer config during runtime).

First problem: I420 home format have his differents planes not in the same
memory places so I can't create a preallocated surface without some initial
memcpy so I directly write data in video layer primary surface, it works but
takes no-negligible (expensive) CPU time and I really misunderstood the good
way to configure buffer mode of layer and his attached surface.

Is it faster to write directly on surface memory with lock/unlock or to
create a surface and to blit it on layer primary surface ?  ( I420-I420 blit
is hardware accelerated on unichrome).
And what is a good layer and surface configuration to optimize performance?
(I've test df_layer example and it consume no cpu time!!)

For RGB24 frames, is it better to display them on graphics layer or  on  the
video layer?


thanks in advance, it's my first steps in the graphics world and I need some
basic explanation.

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

Reply via email to