Lines Matching refs:controls

10 implement correctly in drivers. But much of the code needed to handle controls
26 V4L2 specification with respect to controls in a central place. And to make
43 :c:type:`v4l2_ctrl_handler` is the object that keeps track of controls. It
45 references to controls, possibly to controls owned by other handlers.
89 The second argument is a hint telling the function how many controls this
114 2) Add controls:
116 You add non-menu controls by calling :c:func:`v4l2_ctrl_new_std`:
124 Menu and integer menu controls are added by calling
133 Menu controls with a driver specific menu are added by calling
143 Integer menu controls with a driver specific menu can be added by calling
203 used for menu controls. There is no min argument since that is always 0 for
204 menu controls, and instead of a step there is a skip_mask argument: if bit
226 This makes it easy to init the handler and just add all controls and only check
229 It is recommended to add controls in ascending control ID order: it will be
238 This will call s_ctrl for all controls unconditionally. Effectively this
281 The remainder sections deal with more advanced controls topics and scenarios.
290 and v4l2_device are set, then the controls of the subdev will become
292 contains controls that already exist in the V4L2 driver, then those will be
296 v4l2_ctrl_add_handler() adding the controls of the subdev to the controls
351 exception is for controls that return a volatile register such as a signal
367 controls that need to implement g_volatile_ctrl are read-only controls. If they
386 While in g_volatile/s/try_ctrl you can access the value of all controls owned
388 the value of controls owned by other handlers, then you have to be very careful
425 For menu controls menu_skip_mask is used. What it does is that it allows you
429 menu controls.
444 Driver specific controls can be created using v4l2_ctrl_new_custom():
472 If you get more complex relationships between controls, then you may have to
473 activate and deactivate controls. For example, if the Chroma AGC control is
479 controls are active. Note that the framework does not check for this flag.
485 bitrate controls that cannot be changed while capturing is in progress.
496 By default all controls are independent from the others. But in more
516 From now on whenever one or more of the controls belonging to the same
522 all two controls belonging to the audio_cluster:
574 Note that controls in a cluster may be NULL. For example, if for some
577 cluster of 2 controls, of which only 1 is actually instantiated. The
583 Obviously, all controls in the cluster array must be initialized to either
586 In rare cases you might want to know which controls of a cluster actually
591 controls, then the 'is_new' flag would be 1 for both controls.
600 controls. Typical examples are autogain/gain, autoexposure/exposure,
605 If the cluster is in automatic mode, then the manual controls should be
606 marked inactive and volatile. When the volatile controls are read the
610 If the cluster is put in manual mode, then the manual controls should become
617 changing that control affects the control flags of the manual controls.
624 void v4l2_ctrl_auto_cluster(unsigned ncontrols, struct v4l2_ctrl **controls,
629 last argument will optionally set V4L2_CTRL_FLAG_VOLATILE for the non-auto controls.
630 If it is false, then the manual controls are never volatile. You would typically
646 value of the controls owned by the given handler to the log. You can supply a
660 you need to block the automatic merging of subdev controls to the global
663 merge subdev controls.
669 audio controls, while the video and vbi device nodes share the same control
670 handler for the audio and video controls.
674 the controls to the first handler, add the other controls to the second
686 you to filter which controls will be added. Set it to NULL if you want to add
687 all controls.
689 Or you can add specific controls to a handler:
697 What you should not do is make two identical controls for two handlers.
713 Normally you have created the controls yourself and you can store the struct
755 by default all controls from one are merged to the other. But a subdev might
756 have low-level controls that make sense for some advanced embedded system, but
758 those low-level controls local to the subdev. You can do this by simply
775 These controls will now be skipped when v4l2_ctrl_add_handler is called.
783 containing the controls belonging to a particular control class. The name of