Re: How to set pixelaspect in struct v4l2_cropcap returned by VIDIOC_CROPCAP?

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

 



On Sun September 16 2012 18:49:00 Georgi Chorbadzhiyski wrote:
> On 9/16/12 7:28 PM, Hans Verkuil wrote:
> > On Sun September 16 2012 17:32:52 Georgi Chorbadzhiyski wrote:
> >> Guys I'm adding v4l2 output device support for VLC/ffmpeg/libav (I'm using
> >> v4l2loopback [1] driver for testing) but I have a problem which I can't seem
> >> to find a solution.
> >>
> >> VLC [2] uses VIDIOC_CROPCAP [3] to detect the pixelaspect ratio of the input
> >> it receives from v4l2 device. But I can't seem to find a way to set struct
> >> v4l2_cropcap.pixelaspect when I'm outputting data to the device and the
> >> result is that VLC assumes pixelaspect is 1:1.
> >>
> >> I was hoping that VIDIOC_S_CROP [4] would allow setting pixelaspect but
> >> according to docs that is not case. What am I missing?
> >
> > The pixelaspect ratio returned by CROPCAP depends on the current video standard
> > of the video receiver or transmitter.
> >
> > So for video capture the pixelaspect depends on the standard (50 vs 60 Hz) and
> > the horizontal sampling frequency of the video receiver (hardware specific).
> >
> > For video output the pixelaspect depends also on the standard and on how the
> > transmitter goes from digital to analog pixels (the reverse of what a receiver
> > does).
> >
> > It is *not* the pixelaspect of the video data itself. For output it is the
> > pixel aspect that the transmitter expects. Any difference between the two will
> > need to be resolved somehow, typically by software or hardware scaling.
> 
> Since I'm using virtual output v4l2 loopback device this means I have to set the
> standard somehow, right?

Yes, just call VIDIOC_S_STD. But the loopback device driver needs to be modified to
have cropcap return the aspect ratio belonging to the given standard (or just 1x1
for non-PAL/NTSC resolutions).

I wish personally that this driver was being upstreamed to the kernel. I know that
Mauro (subsystem maintainer) isn't too keen on it, but I think we can convince him
that it is really a useful driver to have. And if it is part of distros anyway,
then we should just accept it (after cleanup, of course).

Regards,

	Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[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