Hi Sylwester,

It's my humble opinions. Just read plz :)

2011. 1. 23., 오후 8:08, Sylwester Nawrocki 작성:

[snip]
 
>> +Handling autogain/gain-type Controls with Auto Clusters
>> +=======================================================
>> +
>> +A common type of control cluster is one that handles 'auto-foo/foo'-type
>> +controls. Typical examples are autogain/gain, autoexposure/exposure,
>> +autowhitebalance/red balance/blue balance. In all cases you have one 
>> controls
>> +that determines whether another control is handled automatically by the 
>> hardware,
>> +or whether it is under manual control from the user.
>> +
>> +The way these are supposed to be handled is that if you set one of the 'foo'
>> +controls, then the 'auto-foo' control should automatically switch to manual
>> +mode, except when you set the 'auto-foo' control at the same time, in which
> 
> Do "set the 'auto-foo' control at the same time" refer to what is done in
> a driver? I can't see how this statement could apply to userland.

If you are talking about how platform or user application can call CID twice in 
such specific
case, as you already know, yes, it happened. Actually, I have been faced the 
same
difficulty with platform and user application peoples. But, for now, this new 
control
framework seems to be easy handling the driver actions.

When the user controls the devices, the user application wants to call only one 
CID.
For example, when the user exposures camera device manually, they want to call
only V4L2_CID_EXPOSURE, not call additionally V4L2_CID_EXPOSURE_AUTO
setting the enumeration by V4L2_EXPOSURE_MANUAL.

IMHO, the ultimate reason seems that V4L2_CID_EXPOSURE is only responsible to
handle Manual Exposure, but the V4L2_CID_EXPOSURE_AUTO can influence Auto
and Manual case. The all CID having AUTO feature is likely to be the same case.
But, as I know, the previous driver using this CID having AUTO feature still 
exist now,
and it is very difficult to change the current control logic to handle devices. 

The birth of new v4l2_ctrl framework seems to be the better options I think, and
I'm very happy for that because it's ok not to be worry about how to set the
internal variables for matching the control sequence with platform and user any 
more.


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

Reply via email to