git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
saa7134: Fix bytesperline not being set correctly for planar formats
[pandora-kernel.git]
/
drivers
/
media
/
video
/
saa7134
/
saa7134-video.c
diff --git
a/drivers/media/video/saa7134/saa7134-video.c
b/drivers/media/video/saa7134/saa7134-video.c
index
9cf7914
..
dd830a5
100644
(file)
--- a/
drivers/media/video/saa7134/saa7134-video.c
+++ b/
drivers/media/video/saa7134/saa7134-video.c
@@
-1577,10
+1577,13
@@
static int saa7134_g_fmt_vid_cap(struct file *file, void *priv,
f->fmt.pix.height = fh->height;
f->fmt.pix.field = fh->cap.field;
f->fmt.pix.pixelformat = fh->fmt->fourcc;
f->fmt.pix.height = fh->height;
f->fmt.pix.field = fh->cap.field;
f->fmt.pix.pixelformat = fh->fmt->fourcc;
- f->fmt.pix.bytesperline =
- (f->fmt.pix.width * fh->fmt->depth) >> 3;
+ if (fh->fmt->planar)
+ f->fmt.pix.bytesperline = f->fmt.pix.width;
+ else
+ f->fmt.pix.bytesperline =
+ (f->fmt.pix.width * fh->fmt->depth) / 8;
f->fmt.pix.sizeimage =
f->fmt.pix.sizeimage =
-
f->fmt.pix.height * f->fmt.pix.bytesperline
;
+
(f->fmt.pix.height * f->fmt.pix.width * fh->fmt->depth) / 8
;
return 0;
}
return 0;
}
@@
-1641,10
+1644,13
@@
static int saa7134_try_fmt_vid_cap(struct file *file, void *priv,
if (f->fmt.pix.height > maxh)
f->fmt.pix.height = maxh;
f->fmt.pix.width &= ~0x03;
if (f->fmt.pix.height > maxh)
f->fmt.pix.height = maxh;
f->fmt.pix.width &= ~0x03;
- f->fmt.pix.bytesperline =
- (f->fmt.pix.width * fmt->depth) >> 3;
+ if (fmt->planar)
+ f->fmt.pix.bytesperline = f->fmt.pix.width;
+ else
+ f->fmt.pix.bytesperline =
+ (f->fmt.pix.width * fmt->depth) / 8;
f->fmt.pix.sizeimage =
f->fmt.pix.sizeimage =
-
f->fmt.pix.height * f->fmt.pix.bytesperline
;
+
(f->fmt.pix.height * f->fmt.pix.width * fmt->depth) / 8
;
return 0;
}
return 0;
}