V4L spec possibly broken

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

 



Hello,

I am working on the linux driver for our new video capture board and 
facing some compatibility problem which seems to be related to unclear 
language in the V4L specification.

The device supports a larger number of inputs, but with a different set of 
standards on each of them.

Now, the problem is that ffmpeg is using VIDIOC_ENUMSTD/VIDIOC_S_STD 
before VIDIOC_S_INPUT.
So the driver has to give a list of supported standards before knowing 
which input the device will be taking.

Currently I am experimenting with a workaround to remember the set 
standard and then failing 
on VIDIOC_S_INPUT when not compatible, but this seems to create more 
problems than it solves. I have
the feeling that this behaviour is not covered by the specification, and 
it makes the driver unnecesarily complex.

In my opinion, the standard is broken: on page 
http://v4l2spec.bytesex.org/spec/r11217.htm, it says:
"It is good practice to select an input before querying or negotiating any 
other parameters."
It should be changed to "Aplications must...", and ffmpeg needs fixing to 
call VIDIOC_S_INPUT before VIDIOC_ENUMSTD.

I hope to get some opinion from you, if this is the right approach or not.

Best regards,
Rupert Eibauer
--
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