Lines Matching refs:controls
5 implement correctly in drivers. But much of the code needed to handle controls
21 V4L2 specification with respect to controls in a central place. And to make
36 v4l2_ctrl_handler is the object that keeps track of controls. It maintains a
38 controls, possibly to controls owned by other handlers.
60 The second argument is a hint telling the function how many controls this
119 2) Add controls:
121 You add non-menu controls by calling v4l2_ctrl_new_std:
127 Menu and integer menu controls are added by calling v4l2_ctrl_new_std_menu:
133 Menu controls with a driver specific menu are added by calling
141 Integer menu controls with a driver specific menu can be added by calling
196 controls. There is no min argument since that is always 0 for menu controls,
218 This makes it easy to init the handler and just add all controls and only check
221 It is recommended to add controls in ascending control ID order: it will be
228 This will call s_ctrl for all controls unconditionally. Effectively this
278 and v4l2_device are set, then the controls of the subdev will become
280 contains controls that already exist in the V4L2 driver, then those will be
284 v4l2_ctrl_add_handler() adding the controls of the subdev to the controls
333 exception is for controls that return a volatile register such as a signal
347 controls that need to implement g_volatile_ctrl are read-only controls. If they
364 While in g_volatile/s/try_ctrl you can access the value of all controls owned
366 the value of controls owned by other handlers, then you have to be very careful
397 For menu controls menu_skip_mask is used. What it does is that it allows you
401 menu controls.
416 Driver specific controls can be created using v4l2_ctrl_new_custom():
442 If you get more complex relationships between controls, then you may have to
443 activate and deactivate controls. For example, if the Chroma AGC control is
449 controls are active. Note that the framework does not check for this flag.
455 bitrate controls that cannot be changed while capturing is in progress.
466 By default all controls are independent from the others. But in more
484 From now on whenever one or more of the controls belonging to the same
490 all two controls belonging to the audio_cluster:
534 Note that controls in a cluster may be NULL. For example, if for some
537 cluster of 2 controls, of which only 1 is actually instantiated. The
543 Obviously, all controls in the cluster array must be initialized to either
546 In rare cases you might want to know which controls of a cluster actually
551 controls, then the 'is_new' flag would be 1 for both controls.
560 controls. Typical examples are autogain/gain, autoexposure/exposure,
565 If the cluster is in automatic mode, then the manual controls should be
566 marked inactive and volatile. When the volatile controls are read the
570 If the cluster is put in manual mode, then the manual controls should become
577 changing that control affects the control flags of the manual controls.
582 void v4l2_ctrl_auto_cluster(unsigned ncontrols, struct v4l2_ctrl **controls,
587 last argument will optionally set V4L2_CTRL_FLAG_VOLATILE for the non-auto controls.
588 If it is false, then the manual controls are never volatile. You would typically
604 value of the controls owned by the given handler to the log. You can supply a
618 you need to block the automatic merging of subdev controls to the global
621 merge subdev controls.
627 audio controls, while the video and vbi device nodes share the same control
628 handler for the audio and video controls.
632 the controls to the first handler, add the other controls to the second
642 you to filter which controls will be added. Set it to NULL if you want to add
643 all controls.
645 Or you can add specific controls to a handler:
652 What you should not do is make two identical controls for two handlers.
666 Normally you have created the controls yourself and you can store the struct
702 by default all controls from one are merged to the other. But a subdev might
703 have low-level controls that make sense for some advanced embedded system, but
705 those low-level controls local to the subdev. You can do this by simply
720 These controls will now be skipped when v4l2_ctrl_add_handler is called.
728 containing the controls belonging to a particular control class. The name of