Hi Eduardo,

>    I'm currently starting to work with v4l. I'm not sure if this is
> the right place to post this question, but as this group has relation
> with v4l, I'll try also here.
>
>    The question is about digital zoom capabilities. I'm a little
> confused about how to implement crop related ioctls in a v4l2 driver.
>
>    First of all, what is the common application flow to probe zoom
> capabilities from
> a v4l2 driver? What is the common application flow to get and set current
> zoom settings from a v4l2 driver? AFAIU, applications must combine
> VIDIOC_CROPCAP, VIDIOC_[S,G]_CROP with VIDIOC_[S,G]_FMT.
> What application is a good example for this issue?
>
>    Suppose a device which supports following modes:
> - mode 1 (640, 480),
> - mode 2 (320, 240) from window (0,0) to (640, 480) and
> - mode 3 (320, 240) from  window (161, 121) to (480, 360)
>
>    What is the best way to implement this support? I can see at least
> one option here: export the bounds and defrect for cropcap as 640x480.
> When applications request formats, return to them what best fits
> between 640x480 or 320x240. And then, when applications request crop
> window modification, the behaviour would be, if they request a crop
> window equal to defrect, the device is changed to mode 1 or 2
> (depending on the current format).  however if the crop window
> requested is smaller then defrect, the mode 3 is configured. Is this
> behaviour expected or I misunderstood something?

The behaviour you described is what I would expect, with a small change. If 
the crop window requested is different from defrect, you should select mode 
1/2 or 3 depending on which window size is closer to the requested one.

Best regards,

Laurent Pinchart
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to