From 718f30acc6b702e3e5e2d15c1eb1848ecdd1f510 Mon Sep 17 00:00:00 2001 From: "Michael H. Schimek" Date: Thu, 1 Dec 2005 00:51:37 -0800 Subject: [PATCH] --- yaml --- r: 14864 b: refs/heads/master c: 13c72805b3d922d85d5c470e851c93e8f8c076d8 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/media/video/bttv-driver.c | 9 +++++++++ trunk/drivers/media/video/video-buf.c | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 18ccaca484d1..578543c63f16 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 943a49027b6d9829b737e6da3d72b867a7a6f832 +refs/heads/master: 13c72805b3d922d85d5c470e851c93e8f8c076d8 diff --git a/trunk/drivers/media/video/bttv-driver.c b/trunk/drivers/media/video/bttv-driver.c index fdaff5bd6331..6fcc20de48d3 100644 --- a/trunk/drivers/media/video/bttv-driver.c +++ b/trunk/drivers/media/video/bttv-driver.c @@ -2290,6 +2290,15 @@ static int bttv_do_ioctl(struct inode *inode, struct file *file, retval = -EINVAL; goto fh_unlock_and_return; } + if (fmt->flags & FORMAT_FLAGS_RAW) { + /* VIDIOCMCAPTURE uses gbufsize, not RAW_BPL * + RAW_LINES * 2. F1 is stored at offset 0, F2 + at buffer size / 2. */ + fh->width = RAW_BPL; + fh->height = gbufsize / RAW_BPL; + btv->init.width = RAW_BPL; + btv->init.height = gbufsize / RAW_BPL; + } fh->ovfmt = fmt; fh->fmt = fmt; btv->init.ovfmt = fmt; diff --git a/trunk/drivers/media/video/video-buf.c b/trunk/drivers/media/video/video-buf.c index bd34f81dbc69..9a6bf287e26a 100644 --- a/trunk/drivers/media/video/video-buf.c +++ b/trunk/drivers/media/video/video-buf.c @@ -816,6 +816,7 @@ ssize_t videobuf_read_one(struct videobuf_queue *q, if (NULL == q->read_buf) goto done; q->read_buf->memory = V4L2_MEMORY_USERPTR; + q->read_buf->bsize = count; /* preferred size */ field = videobuf_next_field(q); retval = q->ops->buf_prepare(q,q->read_buf,field); if (0 != retval) {