Re: Questions about image size listed in VIDIOC_ENUM_FMT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 14, 2025 at 07:08:31AM +0000, Sakari Ailus wrote:
> On Fri, Feb 14, 2025 at 12:19:23PM +0800, Zhaoxuan Zhai wrote:
> > Hi all,
> > 
> > Sorry I made a mistake. It should be VIDIOC_ENUM_FRAMESIZES instead of
> > VIDIOC_ENUM_FMT. I'm sorry for the mistake.
> > 
> > 在 2025/2/14 12:08, Zhaoxuan Zhai 写道:
> > > Hi all,
> > > 
> > > We are working on a camera driver. We plan to use v4l2 interface to send
> > > image data to users. We have a question we'd like to ask.
> > > 
> > > The situation we are facing is as follows.
> > > 
> > > We have an image processing unit that can process raw data collected by
> > > the sensor into the V4L2_PIX_FMT_NV12M format and send it to the user.
> > > 
> > > However, due to the requirements of the V4L2_PIX_FMT_NV12M format, the
> > > width and height of the image must be divisible by 16.

I assume this is a requirement of your hardware (can you tell what
hardware you're running on ?) when outputting NV12. The NV12 format
itself doesn't require a 16 pixels alignment.

> > > For example, when the sensor provides an image size of 2104x1560, after
> > > NV12M encoding, it should be pading to  2112x1566. But the additional 8
> > > rows and 8 columns are padded with 0s and contain no actual content.
> > > 
> > > So, we would like to ask, in this case, what size should we list in
> > > VIDIOC_ENUM_FMT? Should it be the actual image size with content,
> > > 2104x1560, or the padded size, 2112x1566?"
> 
> I'd say the actual image size (i.e. where you have pixel data). The
> sizeimage field needs to reflect the padding and the user needs to be aware
> how the data is laid out in memory.

And of course the bytesperline field should report the total line
stride, including the padding.

-- 
Regards,

Laurent Pinchart




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux