Re: help with v4l display overlay

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



tony Tong (chaffmanus@xxxxxxxxx):

> Is  overlay implemented by dma? If it is ,does it means that I cant
> get the video data because it is transfered by pci bus direct to video
> memory. Then how can I get the content in the video mem to screen ?

  There is a module in the xfree source called "v4l" which will
negotiate with a v4l card to have it dma video frames directly onto an
overlay surface.

  The problems with this are deinterlacing and field positioning, and
tearing.  The video card just keeps reading from the same location in
memory.  So your choices are just read a single field worth of data and
have the quality be poor, or have it read two fields and get artifacts.
Also, currently the overlay is run in single-buffer mode, so tearing is
an issue.

  Ideally, on each field interrupt from the capture card, the overlay
position would be modified by xvideo driver and the correct field would
be shown, and the buffers would be swapped for double buffering.
However, because of the way this is architectured this is not possible.

  An example is shown by my software deinterlacer, where the memcpy() is
necessary as I interpolate a field, clearly alot more work than what
you're looking for.

  You could probably settle for just viewing single field height images
for your example, using the v4l module.

> I learned SDL can do the yuv overlay display .but when I looked into
> the doc for sdl ,I found that when display yuvovelay surface, memcpy
> operation still is needed as follow.
> //memcpy(overlay->pixels, map, (width * height * 3) /

  Well, with SDL you write to an shm surface, and X does a memcpy into
video memory.  You shouldn't hit any extra memcpy()s in the SDL source.

-- 
Billy Biggs
vektor@xxxxxxxxxxxx





[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux