Skip to contentSkip to conversation

Zooming with V4L2

DISCUSSION Laurent Pinchart 2 participants 2 messages Nov 20, 2010 1 message not in the archive Media (V4L/DVB)

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): 000001cb883f$ec4e4220$c4eac660$@org

#1 lore raw

Hi Shuzhen,

Quoted 5 lines · On Saturday 20 November 2010 00:17:23 Shuzhen Wang wrote:

Hello,

I am working on a SOC V4L2 driver, and need to implement zoom functionality.

Quoted 7 lines

From application, there are 2 ways to do zooming. The 1st way is to use cropping and scaling as described in section 1.11.1. The application needs to figure out what the steps will be, and calling VIDIOC_S_CROP.

The 2nd way is to use V4L2_CID_ZOOM_ABSOLUTE and V4L2_CID_ZOOM_RELATIVE as described by Laurent in
http://video4linux-list.1448896.n2.nabble.com/RFC-Zoom-controls-in-V4L2-

td1451987.html.

Quoted 3 lines

Our camera hardware supports digital zoom. However, it acts LIKE optical zoom because it doesn't do upscaling, so no video quality is sacrificed.

How can you apply a digital zoom, keeping the output size constant, without performing upscaling ?

Quoted 5 lines

As a driver writter, is it okay to support only V4L2_CID_ZOOM_ABSOLUTE and V4L2_CID_ZOOM_RELATIVE?

I guess it also depends on how zooming is done for most of the V4L2 user application out there.

The V4L2_CID_ZOOM_* controls are really meant for optical zoom. Digital zoom should be implemented using cropping.

Signature · 3 lines
Regards,

Laurent Pinchart
#2 lore raw

Hello, Laurent,

Thank you for the reply.

In our case, most of the time the sensor outputs bigger image size than the output size, so the ISP hardware does downscaling.
When zooming in, we can do cropping, and less downscaling to achieve the same output size. All these happen under of the hood of ISP driver. That's why I said it was like optical zoom to the application.

So if "digital zoom == cropping and upscaling", then I don't think my case fits in digital zoom category.

Regards,
Shuzhen

-----Original Message-----
From: Laurent Pinchart [mailto:[email protected]]
Sent: Saturday, November 20, 2010 9:37 AM
To: Shuzhen Wang
Cc: [email protected]
Subject: Re: Zooming with V4L2

Hi Shuzhen,

Quoted 5 lines · On Saturday 20 November 2010 00:17:23 Shuzhen Wang wrote:

Hello,

I am working on a SOC V4L2 driver, and need to implement zoom functionality.

Quoted 7 lines

From application, there are 2 ways to do zooming. The 1st way is to use cropping and scaling as described in section 1.11.1. The application needs to figure out what the steps will be, and calling VIDIOC_S_CROP.

The 2nd way is to use V4L2_CID_ZOOM_ABSOLUTE and V4L2_CID_ZOOM_RELATIVE as described by Laurent in
http://video4linux-list.1448896.n2.nabble.com/RFC-Zoom-controls-in-V4L2-

td1451987.html.

Quoted 3 lines

Our camera hardware supports digital zoom. However, it acts LIKE optical zoom because it doesn't do upscaling, so no video quality is sacrificed.

How can you apply a digital zoom, keeping the output size constant, without performing upscaling ?

Quoted 5 lines

As a driver writter, is it okay to support only V4L2_CID_ZOOM_ABSOLUTE and V4L2_CID_ZOOM_RELATIVE?

I guess it also depends on how zooming is done for most of the V4L2 user application out there.

The V4L2_CID_ZOOM_* controls are really meant for optical zoom. Digital zoom

should be implemented using cropping.

Signature · 3 lines
Regards,

Laurent Pinchart