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 Standard compound controls can be added by calling
152 Integer menu controls with a driver specific menu can be added by calling
212 used for menu controls. There is no min argument since that is always 0 for
213 menu controls, and instead of a step there is a skip_mask argument: if bit
235 This makes it easy to init the handler and just add all controls and only check
238 It is recommended to add controls in ascending control ID order: it will be
247 This will call s_ctrl for all controls unconditionally. Effectively this
290 The remainder sections deal with more advanced controls topics and scenarios.
299 and v4l2_device are set, then the controls of the subdev will become
301 contains controls that already exist in the V4L2 driver, then those will be
305 v4l2_ctrl_add_handler() adding the controls of the subdev to the controls
360 exception is for controls that return a volatile register such as a signal
376 controls that need to implement g_volatile_ctrl are read-only controls. If they
395 While in g_volatile/s/try_ctrl you can access the value of all controls owned
397 the value of controls owned by other handlers, then you have to be very careful
434 For menu controls menu_skip_mask is used. What it does is that it allows you
438 menu controls.
453 Driver specific controls can be created using v4l2_ctrl_new_custom():
481 If you get more complex relationships between controls, then you may have to
482 activate and deactivate controls. For example, if the Chroma AGC control is
488 controls are active. Note that the framework does not check for this flag.
494 bitrate controls that cannot be changed while capturing is in progress.
505 By default all controls are independent from the others. But in more
525 From now on whenever one or more of the controls belonging to the same
531 all two controls belonging to the audio_cluster:
583 Note that controls in a cluster may be NULL. For example, if for some
586 cluster of 2 controls, of which only 1 is actually instantiated. The
592 Obviously, all controls in the cluster array must be initialized to either
595 In rare cases you might want to know which controls of a cluster actually
600 controls, then the 'is_new' flag would be 1 for both controls.
609 controls. Typical examples are autogain/gain, autoexposure/exposure,
614 If the cluster is in automatic mode, then the manual controls should be
615 marked inactive and volatile. When the volatile controls are read the
619 If the cluster is put in manual mode, then the manual controls should become
626 changing that control affects the control flags of the manual controls.
633 void v4l2_ctrl_auto_cluster(unsigned ncontrols, struct v4l2_ctrl **controls,
638 last argument will optionally set V4L2_CTRL_FLAG_VOLATILE for the non-auto controls.
639 If it is false, then the manual controls are never volatile. You would typically
655 value of the controls owned by the given handler to the log. You can supply a
669 you need to block the automatic merging of subdev controls to the global
672 merge subdev controls.
678 audio controls, while the video and vbi device nodes share the same control
679 handler for the audio and video controls.
683 the controls to the first handler, add the other controls to the second
695 you to filter which controls will be added. Set it to NULL if you want to add
696 all controls.
698 Or you can add specific controls to a handler:
706 What you should not do is make two identical controls for two handlers.
722 Normally you have created the controls yourself and you can store the struct
764 by default all controls from one are merged to the other. But a subdev might
765 have low-level controls that make sense for some advanced embedded system, but
767 those low-level controls local to the subdev. You can do this by simply
784 These controls will now be skipped when v4l2_ctrl_add_handler is called.
792 containing the controls belonging to a particular control class. The name of