RFC: V4L2 MPEG Encoding API: Part 1 (second version)
- From: Laurent Pinchart <laurent.pinchart (at) skynet.be>
- Date: Sun, 21 May 2006 23:48:49 +0200
> This is part 1 of the proposal for adding an MPEG API to V4L2. This part
> describes the changes and new ioctls needed. Part 2 will describe the
> actual MPEG controls.
[...]
> Proposed solution
> =================
>
> A new extended control struct is created:
>
> struct v4l2_ext_control
> {
> __u32 id;
> __u32 reserved2[2];
> union {
> __s32 value;
> void *reserved;
> }
> };
>
> Where v4l2_control is used for user controls, this struct is for
> controls that are used to set MPEG encoder parameters. The user
> controls should not be mixed with the extended controls.
What's the rationale behind that ? It would be very interesting to use the new
'atomic' controls ioctls with user controls. For instance, there's no way to
move a camera diagonally if you can't set the pan and tilt controls together.
> If any control in the control list contains an error, then no change
> will have been made. So the controls are only set if all controls are
> valid (atomicity).
It won't always be possible to rollback changes in case of error. There's no
problem when all values can be committed in one operation to the hardware,
but I don't think we should rollback changes already sent to the device when
an error is detected during a further device interaction for the same
'transaction'.
Laurent Pinchart
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request (at) redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list