提交 bb2e0339 编写于 作者: T Trent Piepho 提交者: Mauro Carvalho Chehab

V4L/DVB (5888): zr36067: Driver was not returning correct image size

The driver was returning the size of the (fixed) buffer it allocated as the
sizeimage field in the v4l2 pixel format, rather than the actual size of the
image.  For example, a 192x128 YUYV image is 49152 bytes but the driver would
always return 131072 bytes since if that was the size of the v4l buffer.

This violates the v4l2 spec, which says that sizeimage should be the actual
size of the image for uncompressed formats.  It also caused mplayer to crash.
Signed-off-by: NTrent Piepho <xyzzy@speakeasy.org>
Acked-by: NRonald S. Bultje <rbultje@ronald.bitfreak.net>
Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
上级 e42af83f
......@@ -2737,7 +2737,8 @@ zoran_do_ioctl (struct inode *inode,
fmt->fmt.pix.height =
fh->v4l_settings.height;
fmt->fmt.pix.sizeimage =
fh->v4l_buffers.buffer_size;
fh->v4l_settings.bytesperline *
fh->v4l_settings.height;
fmt->fmt.pix.pixelformat =
fh->v4l_settings.format->fourcc;
fmt->fmt.pix.colorspace =
......@@ -2984,8 +2985,9 @@ zoran_do_ioctl (struct inode *inode,
/* tell the user the
* results/missing stuff */
fmt->fmt.pix.sizeimage = fh->v4l_buffers.buffer_size /*zr->gbpl * zr->gheight */
;
fmt->fmt.pix.sizeimage =
fh->v4l_settings.height *
fh->v4l_settings.bytesperline;
if (BUZ_MAX_HEIGHT <
(fh->v4l_settings.height * 2))
fmt->fmt.pix.field =
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册