summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx18/cx18-driver.h
diff options
context:
space:
mode:
authorAndy Walls <awalls@radix.net>2008-12-12 14:24:04 -0500
committerAndy Walls <awalls@radix.net>2008-12-12 14:24:04 -0500
commit4b1de397a8c3dfe7e1f5e1b3165b70fb0193f099 (patch)
tree8e116954ac10cd87612cce0e4b2d4d9f64b6f74c /linux/drivers/media/video/cx18/cx18-driver.h
parenta00ab36aaa26baf7d88c5763300d06dc47327148 (diff)
downloadmediapointer-dvb-s2-4b1de397a8c3dfe7e1f5e1b3165b70fb0193f099.tar.gz
mediapointer-dvb-s2-4b1de397a8c3dfe7e1f5e1b3165b70fb0193f099.tar.bz2
cx18: Port fix for raw/sliced VBI mixup from ivtv and cx25840
From: Andy Walls <awalls@radix.net> This is a port of the fixes Hans Verkuil made for ivtv/cx25840: The service_set field was used to determine whether raw or sliced VBI was desired. This is incorrect since it is perfectly valid to select sliced VBI with a service_set of 0. Instead the driver should check on VIDIOC_S_FMT whether the type field matches the raw or sliced VBI type. Updated the cx18 driver accordingly, including an additional check in cx18_start_v4l2_encode_stream() that didn't exist in ivtv. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
Diffstat (limited to 'linux/drivers/media/video/cx18/cx18-driver.h')
-rw-r--r--linux/drivers/media/video/cx18/cx18-driver.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/linux/drivers/media/video/cx18/cx18-driver.h b/linux/drivers/media/video/cx18/cx18-driver.h
index 29c296f39..018d98f94 100644
--- a/linux/drivers/media/video/cx18/cx18-driver.h
+++ b/linux/drivers/media/video/cx18/cx18-driver.h
@@ -504,4 +504,10 @@ void cx18_read_eeprom(struct cx18 *cx, struct tveeprom *tv);
/* First-open initialization: load firmware, etc. */
int cx18_init_on_first_open(struct cx18 *cx);
+/* Test if the current VBI mode is raw (1) or sliced (0) */
+static inline int cx18_raw_vbi(const struct cx18 *cx)
+{
+ return cx->vbi.in.type == V4L2_BUF_TYPE_VBI_CAPTURE;
+}
+
#endif /* CX18_DRIVER_H */