Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 285780
b: refs/heads/master
c: 1020d13
h: refs/heads/master
v: v3
  • Loading branch information
Sascha Sommer authored and Mauro Carvalho Chehab committed Jan 11, 2012
1 parent 50c5569 commit db1e2c9
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ca80cf60489508792e97a7703ed35756f4d62943
refs/heads/master: 1020d13d50d0a5bfcfc8a0a6826ed221cdf8a775
14 changes: 13 additions & 1 deletion trunk/drivers/media/video/em28xx/em28xx-video.c
Original file line number Diff line number Diff line change
Expand Up @@ -1070,6 +1070,10 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
/* the em2800 can only scale down to 50% */
height = height > (3 * maxh / 4) ? maxh : maxh / 2;
width = width > (3 * maxw / 4) ? maxw : maxw / 2;
/* MaxPacketSize for em2800 is too small to capture at full resolution
* use half of maxw as the scaler can only scale to 50% */
if (width == maxw && height == maxh)
width /= 2;
} else {
/* width must even because of the YUYV format
height must be even because of interlacing */
Expand Down Expand Up @@ -2503,6 +2507,7 @@ int em28xx_register_analog_devices(struct em28xx *dev)
{
u8 val;
int ret;
unsigned int maxw;

printk(KERN_INFO "%s: v4l2 driver version %s\n",
dev->name, EM28XX_VERSION);
Expand All @@ -2515,8 +2520,15 @@ int em28xx_register_analog_devices(struct em28xx *dev)

/* Analog specific initialization */
dev->format = &format[0];

maxw = norm_maxw(dev);
/* MaxPacketSize for em2800 is too small to capture at full resolution
* use half of maxw as the scaler can only scale to 50% */
if (dev->board.is_em2800)
maxw /= 2;

em28xx_set_video_format(dev, format[0].fourcc,
norm_maxw(dev), norm_maxh(dev));
maxw, norm_maxh(dev));

video_mux(dev, dev->ctl_input);

Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/media/video/em28xx/em28xx.h
Original file line number Diff line number Diff line change
Expand Up @@ -831,7 +831,7 @@ static inline unsigned int norm_maxw(struct em28xx *dev)
if (dev->board.is_webcam)
return dev->sensor_xres;

if (dev->board.max_range_640_480 || dev->board.is_em2800)
if (dev->board.max_range_640_480)
return 640;

return 720;
Expand Down

0 comments on commit db1e2c9

Please sign in to comment.