Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 124176
b: refs/heads/master
c: 74d83fa
h: refs/heads/master
v: v3
  • Loading branch information
Mauro Carvalho Chehab committed Dec 29, 2008
1 parent de02b24 commit 4c5745a
Show file tree
Hide file tree
Showing 3 changed files with 74 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f3f741e7119f93db642f06940376a1c93dd3f57b
refs/heads/master: 74d83fa0241f603a4067f071a88ef8b9a7c415a0
67 changes: 67 additions & 0 deletions trunk/drivers/media/video/v4l2-ioctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1747,6 +1747,73 @@ static int __video_do_ioctl(struct file *file,
ret = ops->vidioc_s_hw_freq_seek(file, fh, p);
break;
}
case VIDIOC_ENUM_FRAMESIZES:
{
struct v4l2_frmsizeenum *p = arg;

if (!ops->vidioc_enum_framesizes)
break;

memset(p, 0, sizeof(*p));

ret = ops->vidioc_enum_framesizes(file, fh, p);
dbgarg(cmd,
"index=%d, pixelformat=%d, type=%d ",
p->index, p->pixel_format, p->type);
switch (p->type) {
case V4L2_FRMSIZE_TYPE_DISCRETE:
dbgarg2("width = %d, height=%d\n",
p->discrete.width, p->discrete.height);
break;
case V4L2_FRMSIZE_TYPE_STEPWISE:
dbgarg2("min %dx%d, max %dx%d, step %dx%d\n",
p->stepwise.min_width, p->stepwise.min_height,
p->stepwise.step_width, p->stepwise.step_height,
p->stepwise.max_width, p->stepwise.max_height);
break;
case V4L2_FRMSIZE_TYPE_CONTINUOUS:
dbgarg2("continuous\n");
break;
default:
dbgarg2("- Unknown type!\n");
}

break;
}
case VIDIOC_ENUM_FRAMEINTERVALS:
{
struct v4l2_frmivalenum *p = arg;

if (!ops->vidioc_enum_frameintervals)
break;

memset(p, 0, sizeof(*p));

ret = ops->vidioc_enum_frameintervals(file, fh, p);
dbgarg(cmd,
"index=%d, pixelformat=%d, width=%d, height=%d, type=%d ",
p->index, p->pixel_format,
p->width, p->height, p->type);
switch (p->type) {
case V4L2_FRMIVAL_TYPE_DISCRETE:
dbgarg2("fps=%d/%d\n",
p->discrete.numerator,
p->discrete.denominator);
break;
case V4L2_FRMIVAL_TYPE_STEPWISE:
dbgarg2("min=%d, max=%d, step=%d\n",
p->stepwise.min, p->stepwise.max,
p->stepwise.step);
break;
case V4L2_FRMIVAL_TYPE_CONTINUOUS:
dbgarg2("continuous\n");
break;
default:
dbgarg2("- Unknown type!\n");
}
break;
}

default:
{
if (!ops->vidioc_default)
Expand Down
6 changes: 6 additions & 0 deletions trunk/include/media/v4l2-ioctl.h
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,12 @@ struct v4l2_ioctl_ops {
int (*vidioc_g_chip_ident) (struct file *file, void *fh,
struct v4l2_chip_ident *chip);

int (*vidioc_enum_framesizes) (struct file *file, void *fh,
struct v4l2_frmsizeenum *fsize);

int (*vidioc_enum_frameintervals) (struct file *file, void *fh,
struct v4l2_frmivalenum *fival);

/* For other private ioctls */
int (*vidioc_default) (struct file *file, void *fh,
int cmd, void *arg);
Expand Down

0 comments on commit 4c5745a

Please sign in to comment.