summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx18/cx18-vbi.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2009-03-09 22:56:59 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-09 22:56:59 -0300
commita9e5a96e3a38b1089b19496b26ebfd6d308d48e3 (patch)
tree41835b4264bb6ad7af269818771d44266b526c22 /linux/drivers/media/video/cx18/cx18-vbi.c
parent2af26e6a68740096134e432bc8b0fbf46cbd0a27 (diff)
parent8edb4b5501818f40fd0c88d29df0cfb28edabb99 (diff)
downloadmediapointer-dvb-s2-a9e5a96e3a38b1089b19496b26ebfd6d308d48e3.tar.gz
mediapointer-dvb-s2-a9e5a96e3a38b1089b19496b26ebfd6d308d48e3.tar.bz2
merge: http://linuxtv.org/hg/~mkrufky/saa7134
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'linux/drivers/media/video/cx18/cx18-vbi.c')
-rw-r--r--linux/drivers/media/video/cx18/cx18-vbi.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/linux/drivers/media/video/cx18/cx18-vbi.c b/linux/drivers/media/video/cx18/cx18-vbi.c
index a81fe2e98..355737bff 100644
--- a/linux/drivers/media/video/cx18/cx18-vbi.c
+++ b/linux/drivers/media/video/cx18/cx18-vbi.c
@@ -169,7 +169,7 @@ void cx18_process_vbi_data(struct cx18 *cx, struct cx18_buffer *buf,
int streamtype)
{
u8 *p = (u8 *) buf->buf;
- u32 *q = (u32 *) buf->buf;
+ __be32 *q = (__be32 *) buf->buf;
u32 size = buf->bytesused;
u32 pts;
int lines;
@@ -178,8 +178,9 @@ void cx18_process_vbi_data(struct cx18 *cx, struct cx18_buffer *buf,
return;
/*
- * The CX23418 sends us data that is 32 bit LE swapped, but we want
- * the raw VBI bytes in the order they were in the raster line
+ * The CX23418 sends us data that is 32 bit little-endian swapped,
+ * but we want the raw VBI bytes in the order they were in the raster
+ * line. This has a side effect of making the 12 byte header big endian
*/
cx18_buf_swap(buf);
@@ -218,7 +219,7 @@ void cx18_process_vbi_data(struct cx18 *cx, struct cx18_buffer *buf,
/* Sliced VBI data with data insertion */
- pts = (be32_to_cpu(q[0] == 0x3fffffff)) ? be32_to_cpu(q[2]) : 0;
+ pts = (be32_to_cpu(q[0]) == 0x3fffffff) ? be32_to_cpu(q[2]) : 0;
/*
* For calls to compress_sliced_buf(), ensure there are an integral