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
-- video4linux-list mailing list Unsubscribe mailto:[EMAIL PROTECTED] https://listman.redhat.com/mailman/listinfo/video4linux-list
