[PATCH] v4l: PAL-M support fix for CX88 chipsets
authorMauro Carvalho Chehab <mchehab@brturbo.com.br>
Fri, 24 Jun 2005 05:04:50 +0000 (22:04 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Fri, 24 Jun 2005 07:06:37 +0000 (00:06 -0700)
This patch fixes PAL-M chroma subcarrier frequency (FSC) to its correct
value of 3.5756115 MHz and adjusts horizontal total samples for PAL-M,
according with formula Line Draw Time / (4*FSC).

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Cc: <video4linux-list@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/media/video/cx88/cx88-core.c

index 1ff79b5a8835d0a96ecf870c1041273977f0616c..8c7f5589e92b76b6a1b033d75b101e003d55f78d 100644 (file)
@@ -736,6 +736,10 @@ static unsigned int inline norm_fsc8(struct cx88_tvnorm *norm)
 {
        static const unsigned int ntsc = 28636360;
        static const unsigned int pal  = 35468950;
+       static const unsigned int palm  = 28604892;
+
+       if (norm->id & V4L2_STD_PAL_M)
+               return palm;
 
        return (norm->id & V4L2_STD_625_50) ? pal : ntsc;
 }
@@ -749,6 +753,11 @@ static unsigned int inline norm_notchfilter(struct cx88_tvnorm *norm)
 
 static unsigned int inline norm_htotal(struct cx88_tvnorm *norm)
 {
+       /* Should always be Line Draw Time / (4*FSC) */
+
+       if (norm->id & V4L2_STD_PAL_M)
+               return 909;
+
        return (norm->id & V4L2_STD_625_50) ? 1135 : 910;
 }