> > I work under X11R6 server with XFree86 4.1.0, using XLib and XToolkit graphic 
>libraries.
> > My program must capture-process-display every frame captured from a video source, 
>at the maximum frame rate.
> > All done without palette transformations.

Thank's to everyone answer my previous post.
As you know, I'm trying to make a videoprocessor under X11/Xfree86.


I've a BTTV driven frame grabber card
-1- It is programmed to capture frames in RGB565 format (like the display) on a mmap 
shared buffer
-2- Via a memcpy, the captured frame is copied into a XImage created with 
XShmCreateImage
-3- Then the sw process this rgb image
-4- Finally the image is displayed in a window via XShmPutImage
-5- XSync(display, False)


How to speed up these tasks? 
Or decrease CPU load?

task 1 was done by PCI dma, so it was the faster way.
task 2 may be faster with a DMA accelerated copy instead of memcpy... but how?
task 3 is a user algorithm, so I must use ASM and MMX instrucions...maybe! :-)
task 4 XShmPutImage is DMA accelerated, right? so it is the fastest way?
task 5 ...what's doing exactly the XSync? Is possible to synchronize with monitor 
VSynch.

---

Another way may be, if is possible, to map directly XImage data memory over the mmap 
captured frame, avoiding the memcpy in task 2.
Anyone knows how to do it?

Otherwise, how to blit the captured mmap buffer (after processing it) onto the 
display, even without any XImage or with other functions than XShmPutImage.

Thank's to all
 Francesco


_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to