diff options
-rw-r--r-- | drivers/media/video/cx25840/cx25840-vbi.c | 6 | ||||
-rw-r--r-- | drivers/media/video/saa7115.c | 6 | ||||
-rw-r--r-- | drivers/media/video/tvp5150.c | 10 | ||||
-rw-r--r-- | include/linux/videodev2.h | 65 |
4 files changed, 23 insertions, 64 deletions
diff --git a/drivers/media/video/cx25840/cx25840-vbi.c b/drivers/media/video/cx25840/cx25840-vbi.c index f5784589b270..57feca288d2b 100644 --- a/drivers/media/video/cx25840/cx25840-vbi.c +++ b/drivers/media/video/cx25840/cx25840-vbi.c | |||
@@ -152,7 +152,7 @@ int cx25840_vbi(struct i2c_client *client, unsigned int cmd, void *arg) | |||
152 | case VIDIOC_G_FMT: | 152 | case VIDIOC_G_FMT: |
153 | { | 153 | { |
154 | static u16 lcr2vbi[] = { | 154 | static u16 lcr2vbi[] = { |
155 | 0, V4L2_SLICED_TELETEXT_PAL_B, 0, /* 1 */ | 155 | 0, V4L2_SLICED_TELETEXT_B, 0, /* 1 */ |
156 | 0, V4L2_SLICED_WSS_625, 0, /* 4 */ | 156 | 0, V4L2_SLICED_WSS_625, 0, /* 4 */ |
157 | V4L2_SLICED_CAPTION_525, /* 6 */ | 157 | V4L2_SLICED_CAPTION_525, /* 6 */ |
158 | 0, 0, V4L2_SLICED_VPS, 0, 0, /* 9 */ | 158 | 0, 0, V4L2_SLICED_VPS, 0, 0, /* 9 */ |
@@ -232,7 +232,7 @@ int cx25840_vbi(struct i2c_client *client, unsigned int cmd, void *arg) | |||
232 | for (i = 7; i <= 23; i++) { | 232 | for (i = 7; i <= 23; i++) { |
233 | for (x = 0; x <= 1; x++) { | 233 | for (x = 0; x <= 1; x++) { |
234 | switch (svbi->service_lines[1-x][i]) { | 234 | switch (svbi->service_lines[1-x][i]) { |
235 | case V4L2_SLICED_TELETEXT_PAL_B: | 235 | case V4L2_SLICED_TELETEXT_B: |
236 | lcr[i] |= 1 << (4 * x); | 236 | lcr[i] |= 1 << (4 * x); |
237 | break; | 237 | break; |
238 | case V4L2_SLICED_WSS_625: | 238 | case V4L2_SLICED_WSS_625: |
@@ -283,7 +283,7 @@ int cx25840_vbi(struct i2c_client *client, unsigned int cmd, void *arg) | |||
283 | 283 | ||
284 | switch (id2) { | 284 | switch (id2) { |
285 | case 1: | 285 | case 1: |
286 | id2 = V4L2_SLICED_TELETEXT_PAL_B; | 286 | id2 = V4L2_SLICED_TELETEXT_B; |
287 | break; | 287 | break; |
288 | case 4: | 288 | case 4: |
289 | id2 = V4L2_SLICED_WSS_625; | 289 | id2 = V4L2_SLICED_WSS_625; |
diff --git a/drivers/media/video/saa7115.c b/drivers/media/video/saa7115.c index 615ec903355a..dceebc0b1250 100644 --- a/drivers/media/video/saa7115.c +++ b/drivers/media/video/saa7115.c | |||
@@ -852,7 +852,7 @@ static void saa7115_set_lcr(struct i2c_client *client, struct v4l2_sliced_vbi_fo | |||
852 | case 0: | 852 | case 0: |
853 | lcr[i] |= 0xf << (4 * x); | 853 | lcr[i] |= 0xf << (4 * x); |
854 | break; | 854 | break; |
855 | case V4L2_SLICED_TELETEXT_PAL_B: | 855 | case V4L2_SLICED_TELETEXT_B: |
856 | lcr[i] |= 1 << (4 * x); | 856 | lcr[i] |= 1 << (4 * x); |
857 | break; | 857 | break; |
858 | case V4L2_SLICED_CAPTION_525: | 858 | case V4L2_SLICED_CAPTION_525: |
@@ -881,7 +881,7 @@ static void saa7115_set_lcr(struct i2c_client *client, struct v4l2_sliced_vbi_fo | |||
881 | static int saa7115_get_v4lfmt(struct i2c_client *client, struct v4l2_format *fmt) | 881 | static int saa7115_get_v4lfmt(struct i2c_client *client, struct v4l2_format *fmt) |
882 | { | 882 | { |
883 | static u16 lcr2vbi[] = { | 883 | static u16 lcr2vbi[] = { |
884 | 0, V4L2_SLICED_TELETEXT_PAL_B, 0, /* 1 */ | 884 | 0, V4L2_SLICED_TELETEXT_B, 0, /* 1 */ |
885 | 0, V4L2_SLICED_CAPTION_525, /* 4 */ | 885 | 0, V4L2_SLICED_CAPTION_525, /* 4 */ |
886 | V4L2_SLICED_WSS_625, 0, /* 5 */ | 886 | V4L2_SLICED_WSS_625, 0, /* 5 */ |
887 | V4L2_SLICED_VPS, 0, 0, 0, 0, /* 7 */ | 887 | V4L2_SLICED_VPS, 0, 0, 0, 0, /* 7 */ |
@@ -1046,7 +1046,7 @@ static void saa7115_decode_vbi_line(struct i2c_client *client, | |||
1046 | /* decode payloads */ | 1046 | /* decode payloads */ |
1047 | switch (id2) { | 1047 | switch (id2) { |
1048 | case 1: | 1048 | case 1: |
1049 | vbi->type = V4L2_SLICED_TELETEXT_PAL_B; | 1049 | vbi->type = V4L2_SLICED_TELETEXT_B; |
1050 | break; | 1050 | break; |
1051 | case 4: | 1051 | case 4: |
1052 | if (!saa7115_odd_parity(p[0]) || !saa7115_odd_parity(p[1])) | 1052 | if (!saa7115_odd_parity(p[0]) || !saa7115_odd_parity(p[1])) |
diff --git a/drivers/media/video/tvp5150.c b/drivers/media/video/tvp5150.c index d4f4ef3323e8..1055423aa2b9 100644 --- a/drivers/media/video/tvp5150.c +++ b/drivers/media/video/tvp5150.c | |||
@@ -500,16 +500,21 @@ struct i2c_vbi_ram_value { | |||
500 | 500 | ||
501 | static struct i2c_vbi_ram_value vbi_ram_default[] = | 501 | static struct i2c_vbi_ram_value vbi_ram_default[] = |
502 | { | 502 | { |
503 | /* FIXME: Current api doesn't handle all VBI types, those not | ||
504 | yet supported are placed under #if 0 */ | ||
505 | #if 0 | ||
503 | {0x010, /* Teletext, SECAM, WST System A */ | 506 | {0x010, /* Teletext, SECAM, WST System A */ |
504 | {V4L2_SLICED_TELETEXT_SECAM,6,23,1}, | 507 | {V4L2_SLICED_TELETEXT_SECAM,6,23,1}, |
505 | { 0xaa, 0xaa, 0xff, 0xff, 0xe7, 0x2e, 0x20, 0x26, | 508 | { 0xaa, 0xaa, 0xff, 0xff, 0xe7, 0x2e, 0x20, 0x26, |
506 | 0xe6, 0xb4, 0x0e, 0x00, 0x00, 0x00, 0x10, 0x00 } | 509 | 0xe6, 0xb4, 0x0e, 0x00, 0x00, 0x00, 0x10, 0x00 } |
507 | }, | 510 | }, |
511 | #endif | ||
508 | {0x030, /* Teletext, PAL, WST System B */ | 512 | {0x030, /* Teletext, PAL, WST System B */ |
509 | {V4L2_SLICED_TELETEXT_PAL_B,6,22,1}, | 513 | {V4L2_SLICED_TELETEXT_B,6,22,1}, |
510 | { 0xaa, 0xaa, 0xff, 0xff, 0x27, 0x2e, 0x20, 0x2b, | 514 | { 0xaa, 0xaa, 0xff, 0xff, 0x27, 0x2e, 0x20, 0x2b, |
511 | 0xa6, 0x72, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00 } | 515 | 0xa6, 0x72, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00 } |
512 | }, | 516 | }, |
517 | #if 0 | ||
513 | {0x050, /* Teletext, PAL, WST System C */ | 518 | {0x050, /* Teletext, PAL, WST System C */ |
514 | {V4L2_SLICED_TELETEXT_PAL_C,6,22,1}, | 519 | {V4L2_SLICED_TELETEXT_PAL_C,6,22,1}, |
515 | { 0xaa, 0xaa, 0xff, 0xff, 0xe7, 0x2e, 0x20, 0x22, | 520 | { 0xaa, 0xaa, 0xff, 0xff, 0xe7, 0x2e, 0x20, 0x22, |
@@ -535,6 +540,7 @@ static struct i2c_vbi_ram_value vbi_ram_default[] = | |||
535 | { 0xaa, 0x2a, 0xff, 0x3f, 0x04, 0x51, 0x6e, 0x02, | 540 | { 0xaa, 0x2a, 0xff, 0x3f, 0x04, 0x51, 0x6e, 0x02, |
536 | 0xa6, 0x7b, 0x09, 0x00, 0x00, 0x00, 0x27, 0x00 } | 541 | 0xa6, 0x7b, 0x09, 0x00, 0x00, 0x00, 0x27, 0x00 } |
537 | }, | 542 | }, |
543 | #endif | ||
538 | {0x0f0, /* Closed Caption, NTSC */ | 544 | {0x0f0, /* Closed Caption, NTSC */ |
539 | {V4L2_SLICED_CAPTION_525,21,21,1}, | 545 | {V4L2_SLICED_CAPTION_525,21,21,1}, |
540 | { 0xaa, 0x2a, 0xff, 0x3f, 0x04, 0x51, 0x6e, 0x02, | 546 | { 0xaa, 0x2a, 0xff, 0x3f, 0x04, 0x51, 0x6e, 0x02, |
@@ -545,6 +551,7 @@ static struct i2c_vbi_ram_value vbi_ram_default[] = | |||
545 | { 0x5b, 0x55, 0xc5, 0xff, 0x00, 0x71, 0x6e, 0x42, | 551 | { 0x5b, 0x55, 0xc5, 0xff, 0x00, 0x71, 0x6e, 0x42, |
546 | 0xa6, 0xcd, 0x0f, 0x00, 0x00, 0x00, 0x3a, 0x00 } | 552 | 0xa6, 0xcd, 0x0f, 0x00, 0x00, 0x00, 0x3a, 0x00 } |
547 | }, | 553 | }, |
554 | #if 0 | ||
548 | {0x130, /* Wide Screen Signal, NTSC C */ | 555 | {0x130, /* Wide Screen Signal, NTSC C */ |
549 | {V4L2_SLICED_WSS_525,20,20,1}, | 556 | {V4L2_SLICED_WSS_525,20,20,1}, |
550 | { 0x38, 0x00, 0x3f, 0x00, 0x00, 0x71, 0x6e, 0x43, | 557 | { 0x38, 0x00, 0x3f, 0x00, 0x00, 0x71, 0x6e, 0x43, |
@@ -560,6 +567,7 @@ static struct i2c_vbi_ram_value vbi_ram_default[] = | |||
560 | { 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0x6d, 0x49, | 567 | { 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0x6d, 0x49, |
561 | 0x69, 0x94, 0x08, 0x00, 0x00, 0x00, 0x4c, 0x00 } | 568 | 0x69, 0x94, 0x08, 0x00, 0x00, 0x00, 0x4c, 0x00 } |
562 | }, | 569 | }, |
570 | #endif | ||
563 | {0x190, /* Video Program System (VPS), PAL */ | 571 | {0x190, /* Video Program System (VPS), PAL */ |
564 | {V4L2_SLICED_VPS,16,16,0}, | 572 | {V4L2_SLICED_VPS,16,16,0}, |
565 | { 0xaa, 0xaa, 0xff, 0xff, 0xba, 0xce, 0x2b, 0x0d, | 573 | { 0xaa, 0xaa, 0xff, 0xff, 0xba, 0xce, 0x2b, 0x0d, |
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index af2d6155d3fe..d7670ec1ec1e 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h | |||
@@ -966,66 +966,17 @@ struct v4l2_sliced_vbi_format | |||
966 | 966 | ||
967 | /* Teletext World System Teletext | 967 | /* Teletext World System Teletext |
968 | (WST), defined on ITU-R BT.653-2 */ | 968 | (WST), defined on ITU-R BT.653-2 */ |
969 | #define V4L2_SLICED_TELETEXT_PAL_B (0x000001) | 969 | #define V4L2_SLICED_TELETEXT_B (0x0001) |
970 | #define V4L2_SLICED_TELETEXT_PAL_C (0x000002) | ||
971 | #define V4L2_SLICED_TELETEXT_NTSC_B (0x000010) | ||
972 | #define V4L2_SLICED_TELETEXT_SECAM (0x000020) | ||
973 | |||
974 | /* Teletext North American Broadcast Teletext Specification | ||
975 | (NABTS), defined on ITU-R BT.653-2 */ | ||
976 | #define V4L2_SLICED_TELETEXT_NTSC_C (0x000040) | ||
977 | #define V4L2_SLICED_TELETEXT_NTSC_D (0x000080) | ||
978 | |||
979 | /* Video Program System, defined on ETS 300 231*/ | 970 | /* Video Program System, defined on ETS 300 231*/ |
980 | #define V4L2_SLICED_VPS (0x000400) | 971 | #define V4L2_SLICED_VPS (0x0400) |
981 | |||
982 | /* Closed Caption, defined on EIA-608 */ | 972 | /* Closed Caption, defined on EIA-608 */ |
983 | #define V4L2_SLICED_CAPTION_525 (0x001000) | 973 | #define V4L2_SLICED_CAPTION_525 (0x1000) |
984 | #define V4L2_SLICED_CAPTION_625 (0x002000) | ||
985 | |||
986 | /* Wide Screen System, defined on ITU-R BT1119.1 */ | 974 | /* Wide Screen System, defined on ITU-R BT1119.1 */ |
987 | #define V4L2_SLICED_WSS_625 (0x004000) | 975 | #define V4L2_SLICED_WSS_625 (0x4000) |
988 | 976 | ||
989 | /* Wide Screen System, defined on IEC 61880 */ | 977 | #define V4L2_SLICED_VBI_525 (V4L2_SLICED_CAPTION_525) |
990 | #define V4L2_SLICED_WSS_525 (0x008000) | 978 | #define V4L2_SLICED_VBI_625 (V4L2_SLICED_TELETEXT_B | V4L2_SLICED_VPS | V4L2_SLICED_WSS_625) |
991 | 979 | ||
992 | /* Vertical Interval Timecode (VITC), defined on SMPTE 12M */ | ||
993 | #define V4l2_SLICED_VITC_625 (0x010000) | ||
994 | #define V4l2_SLICED_VITC_525 (0x020000) | ||
995 | |||
996 | #define V4L2_SLICED_TELETEXT_B (V4L2_SLICED_TELETEXT_PAL_B |\ | ||
997 | V4L2_SLICED_TELETEXT_NTSC_B) | ||
998 | |||
999 | #define V4L2_SLICED_TELETEXT (V4L2_SLICED_TELETEXT_PAL_B |\ | ||
1000 | V4L2_SLICED_TELETEXT_PAL_C |\ | ||
1001 | V4L2_SLICED_TELETEXT_SECAM |\ | ||
1002 | V4L2_SLICED_TELETEXT_NTSC_B |\ | ||
1003 | V4L2_SLICED_TELETEXT_NTSC_C |\ | ||
1004 | V4L2_SLICED_TELETEXT_NTSC_D) | ||
1005 | |||
1006 | #define V4L2_SLICED_CAPTION (V4L2_SLICED_CAPTION_525 |\ | ||
1007 | V4L2_SLICED_CAPTION_625) | ||
1008 | |||
1009 | #define V4L2_SLICED_WSS (V4L2_SLICED_WSS_525 |\ | ||
1010 | V4L2_SLICED_WSS_625) | ||
1011 | |||
1012 | #define V4L2_SLICED_VITC (V4L2_SLICED_VITC_525 |\ | ||
1013 | V4L2_SLICED_VITC_625) | ||
1014 | |||
1015 | #define V4L2_SLICED_VBI_525 (V4L2_SLICED_TELETEXT_NTSC_B |\ | ||
1016 | V4L2_SLICED_TELETEXT_NTSC_C |\ | ||
1017 | V4L2_SLICED_TELETEXT_NTSC_D |\ | ||
1018 | V4L2_SLICED_CAPTION_525 |\ | ||
1019 | V4L2_SLICED_WSS_525 |\ | ||
1020 | V4l2_SLICED_VITC_525) | ||
1021 | |||
1022 | #define V4L2_SLICED_VBI_625 (V4L2_SLICED_TELETEXT_PAL_B |\ | ||
1023 | V4L2_SLICED_TELETEXT_PAL_C |\ | ||
1024 | V4L2_SLICED_TELETEXT_SECAM |\ | ||
1025 | V4L2_SLICED_VPS |\ | ||
1026 | V4L2_SLICED_CAPTION_625 |\ | ||
1027 | V4L2_SLICED_WSS_625 |\ | ||
1028 | V4l2_SLICED_VITC_625) | ||
1029 | 980 | ||
1030 | struct v4l2_sliced_vbi_cap | 981 | struct v4l2_sliced_vbi_cap |
1031 | { | 982 | { |