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