> Our regular TV (which is both NTSC- and PAL-capable) displays "PAL-N" and 
> "SAP" when changing channels (not very technical I know!), and my testing 
> (included below) would seem to point to PAL-Nc being the correct variation.

The patch below might work, but it needs a kernel or module recompilation.
Signed-off-by: Servaas Vandenberghe
--- linux-3.5.4/drivers/media/video/cx25840/cx25840-core-orig.c 2012-09-15 
00:28:08.000000000 +0200
+++ linux-3.5.4/drivers/media/video/cx25840/cx25840-core.c      2013-04-13 
16:22:59.000000000 +0200
@@ -945,8 +945,7 @@ static void input_change(struct i2c_clie
        if (state->radio) {
                cx25840_write(client, 0x808, 0xf9);
                cx25840_write(client, 0x80b, 0x00);
-       }
-       else if (std & V4L2_STD_525_60) {
+       } else if (std & V4L2_STD_MN) {
                /* Certain Hauppauge PVR150 models have a hardware bug
                   that causes audio to drop out. For these models the
                   audio standard must be set explicitly.
@@ -965,31 +964,32 @@ static void input_change(struct i2c_clie
                        cx25840_write(client, 0x808, hw_fix ? 0x1f : 0xf6);
                }
                cx25840_write(client, 0x80b, 0x00);
-       } else if (std & V4L2_STD_PAL) {
-               /* Autodetect audio standard and audio system */
-               cx25840_write(client, 0x808, 0xff);
-               /* Since system PAL-L is pretty much non-existent and
-                  not used by any public broadcast network, force
-                  6.5 MHz carrier to be interpreted as System DK,
-                  this avoids DK audio detection instability */
-              cx25840_write(client, 0x80b, 0x00);
-       } else if (std & V4L2_STD_SECAM) {
+       } else {
                /* Autodetect audio standard and audio system */
                cx25840_write(client, 0x808, 0xff);
-               /* If only one of SECAM-DK / SECAM-L is required, then force
-                 6.5MHz carrier, else autodetect it */
-               if ((std & V4L2_STD_SECAM_DK) &&
-                   !(std & (V4L2_STD_SECAM_L | V4L2_STD_SECAM_LC))) {
-                       /* 6.5 MHz carrier to be interpreted as System DK */
+               if (std & V4L2_STD_SECAM) {
+                       /* If only one of SECAM-DK / SECAM-L is required, then 
force
+                          6.5MHz carrier, else autodetect it */
+                       if ((std & V4L2_STD_SECAM_DK) &&
+                           !(std & (V4L2_STD_SECAM_L | V4L2_STD_SECAM_LC))) {
+                               /* 6.5 MHz carrier to be interpreted as System 
DK */
+                               cx25840_write(client, 0x80b, 0x00);
+                       } else if (!(std & V4L2_STD_SECAM_DK) &&
+                                  (std & (V4L2_STD_SECAM_L | 
V4L2_STD_SECAM_LC))) {
+                               /* 6.5 MHz carrier to be interpreted as System 
L */
+                               cx25840_write(client, 0x80b, 0x08);
+                       } else {
+                               /* 6.5 MHz carrier to be autodetected */
+                               cx25840_write(client, 0x80b, 0x10);
+                       }
+               } else {
+                       /* std & (V4L2_STD_PAL | V4L2_STD_PAL_60 | 
V4L2_STD_NTSC_443)) */
+                       /* Since system PAL-L is pretty much non-existent and
+                          not used by any public broadcast network, force
+                          6.5 MHz carrier to be interpreted as System DK,
+                          this avoids DK audio detection instability */
                        cx25840_write(client, 0x80b, 0x00);
-              } else if (!(std & V4L2_STD_SECAM_DK) &&
-                         (std & (V4L2_STD_SECAM_L | V4L2_STD_SECAM_LC))) {
-                       /* 6.5 MHz carrier to be interpreted as System L */
-                       cx25840_write(client, 0x80b, 0x08);
-              } else {
-                       /* 6.5 MHz carrier to be autodetected */
-                       cx25840_write(client, 0x80b, 0x10);
-              }
+               }
        }
 
        cx25840_and_or(client, 0x810, ~0x01, 0);
_______________________________________________
pvrusb2 mailing list
[email protected]
http://www.isely.net/cgi-bin/mailman/listinfo/pvrusb2

Reply via email to