Re: [v4l-dvb-maintainer] Re: [PATCH 00/23] V4L/DVB fixes

Trent Piepho
2006-07-26T01:00:27Z

On Wed, 26 Jul 2006, Edgar Toernig wrote:
> I'm still missing the VBI_OFFSET fix. See:
>
> http://marc.theaimsgroup.com/?m=114710558215044
>
> Could you consider that patch for the next update and
> IMHO also for 2.6.16.x and 2.6.17.x?

I've put a patch that fixes this in my tree. Mauro, please pull from
http://linuxtv.org/hg/~tap/v4l-dvb for:

02/02: bttv: Revert VBI_OFFSET to previous value, it works better
http://www.linuxtv.org/hg/~tap/v4l-dvb?cmd=changeset;node=88eaa291cc50;style=gitweb

FYI, contents of patch:
diff -r aaf8b9916bbb -r 88eaa291cc50 linux/drivers/media/video/bt8xx/bttv-vbi.c
--- a/linux/drivers/media/video/bt8xx/bttv-vbi.c Tue Jul 25 16:37:03 2006
-0700
+++ b/linux/drivers/media/video/bt8xx/bttv-vbi.c Tue Jul 25 17:51:36 2006
-0700
@@ -31,11 +31,16 @@
#include <asm/io.h>
#include "bttvp.h"

-/* Offset from line sync pulse leading edge (0H) in 1 / sampling_rate:
- bt8x8 /HRESET pulse starts at 0H and has length 64 / fCLKx1 (E|O_VTC
- HSFMT = 0). VBI_HDELAY (always 0) is an offset from the trailing edge
- of /HRESET in 1 / fCLKx1, and the sampling_rate tvnorm->Fsc is fCLKx2. */
-#define VBI_OFFSET ((64 + 0) * 2)
+/* Offset from line sync pulse leading edge (0H) to start of VBI capture,
+ in fCLKx2 pixels. According to the datasheet, VBI capture starts
+ VBI_HDELAY fCLKx1 pixels from the tailing edgeof /HRESET, and /HRESET
+ is 64 fCLKx1 pixels wide. VBI_HDELAY is set to 0, so this should be
+ (64 + 0) * 2 = 128 fCLKx2 pixels. But it's not! The datasheet is
+ Just Plain Wrong. The real value appears to be different for
+ different revisions of the bt8x8 chips, and to be affected by the
+ horizontal scaling factor. Experimentally, the value is measured
+ to be about 244. */
+#define VBI_OFFSET 244

#define VBI_DEFLINES 16
#define VBI_MAXLINES 32