Subject: bktr: interlaced images with dma transfers and direct video
To: None <tech-kern@netbsd.org>
From: Anthony Mallet <anthony.mallet@useless-ficus.net>
List: tech-kern
Date: 03/22/2003 22:33:11
Hi,

I'm using the bktr driver and fxtv to watch TV, and I am suprised by the
fact that I get interlaced images. I know that the PAL signal itself is
interlaced, but I thought that TV images wouldn't suffer from this
problem -- that is: I though that the odd and even fields would be
synchronised for TV images (while video cameras obviously can't do that).

So my first question is: is it normal to get interlaced images in my
case??

After having explored bktr and fxtv code I also have a small doubt,
which you might hopefully remove :) Please correct any assertion that I
make below, as I am not sure to fully understand all the code (especially
the kernel part).

. fxtv (in DirectVideo mode) gets a pointer to the framebuffer memory and
  issues an ioctl(METEORSVIDEO) call with that pointer.
. the bktr driver uses that pointer and copies data from the frame grabber,
  using dma transfers. It first copies the odd field, then the even
  field.

With this setup, there is a direct connection between video card's memory
and frame grabber's memory. Then, if it's true, isn't there a chance to
get images that contain out of sync even and odd fields? After the driver
has copied the odd field, and before the even field is recieved, isn't
the video card already displaying an image that contains only the odd
field and the previous (old) even field? (especially with a 75Hz vertical
refresh rate...)

Am I totally wrong?