By Date: <-- -->
By Thread: <-- -->

RFC: V4L2 MPEG Encoding API: Part 1 (second version)



> 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