Hi Philip,
In particular, the VBI_LINE_LENGTH is set to 2048, but the number of
pixels that should be grabbed is much smaller than that (720 * 2).
However, looking at the data stream, there doesn't appear to be a
gap. Interestingly, there is a commented out chunk of code that looks
as though it ought to do the right thing!
VBI from the SAA7134 has a higher sampling rate than Bt878.
You still read 2048 bytes per line, but only a part of the data
is subsampled. You should use ioctl VIDIOCGVBIFMT (v4l1) or
VIDIOC_G_FMT(v4l2) to query the encoding parameters.
Note that as of version 0.2.5 the driver still outputs fields in a
wrong order via read(2): output order is: 2A+1B, 3A+2B, 4A+3B, ...
(with A/B for fields, numbers for frames), i.e. you have to process
the second field in the buffer before the first. I've made a patch
against alevt 1.6.1 which contains a workaround:
http://nxtvepg.sourceforge.net/tmp/alevt-1.6.1.diff
Besides this bug VBI decoding seems to work fine.
bye,
-tom