Enum AnalogueGainMode

Source
#[repr(i32)]
pub enum AnalogueGainMode { Auto = 0, Manual = 1, }
Expand description

Controls the source of the analogue gain that is applied to the image sensor.

When set to Auto, the AEGC algorithm computes the analogue gain and configures the image sensor accordingly. When set to Manual, the value of the AnalogueGain control is used.

When transitioning from Auto to Manual mode and no AnalogueGain control is provided by the application, the last value computed by the AEGC algorithm when the mode was Auto will be used. If the AnalogueGainMode was never set to Auto (either because the camera started in Manual mode, or Auto is not supported by the camera), the camera should use a best-effort default value.

If AnalogueGainModeManual is supported, the AnalogueGain control must also be supported.

For cameras where we have control over the ISP, both ExposureTimeMode and AnalogueGainMode are expected to support manual mode, and both controls (as well as ExposureTimeMode and AnalogueGain) are expected to be present. If the camera also has an AEGC implementation, both ExposureTimeMode and AnalogueGainMode shall support both manual and auto mode. If auto mode is available, it shall be the default mode. These rules do not apply to black box cameras such as UVC cameras, where the available gain and exposure modes are completely dependent on what the hardware exposes.

The same procedure described for performing flickerless transitions in the ExposureTimeMode control documentation can be applied to analogue gain.

\sa ExposureTimeMode \sa AnalogueGain

Variants§

§

Auto = 0

The analogue gain will be calculated automatically and set by the AEGC algorithm.

If AnalogueGain is set while this mode is active, it will be ignored, and it will also not be retained.

When transitioning from Manual to Auto mode, the AEGC should start its adjustments based on the last set manual AnalogueGain value.

§

Manual = 1

The analogue gain will not be updated by the AEGC algorithm.

When transitioning from Auto to Manual mode, the last computed gain value is used until a new value is specified through the AnalogueGain control. If an AnalogueGain value is specified in the same request where the AnalogueGainMode is changed from Auto to Manual, the provided AnalogueGain is applied immediately.

Trait Implementations§

Source§

impl Clone for AnalogueGainMode

Source§

fn clone(&self) -> AnalogueGainMode

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl ControlEntry for AnalogueGainMode

Source§

const ID: u32 = 10u32

Source§

impl Debug for AnalogueGainMode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<AnalogueGainMode> for ControlValue

Source§

fn from(val: AnalogueGainMode) -> Self

Converts to this type from the input type.
Source§

impl From<AnalogueGainMode> for i32

Source§

fn from(enum_value: AnalogueGainMode) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for AnalogueGainMode

Source§

fn eq(&self, other: &AnalogueGainMode) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl TryFrom<ControlValue> for AnalogueGainMode

Source§

type Error = ControlValueError

The type returned in the event of a conversion error.
Source§

fn try_from(value: ControlValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<i32> for AnalogueGainMode

Source§

type Error = TryFromPrimitiveError<AnalogueGainMode>

The type returned in the event of a conversion error.
Source§

fn try_from(number: i32) -> Result<Self, TryFromPrimitiveError<Self>>

Performs the conversion.
Source§

impl TryFromPrimitive for AnalogueGainMode

Source§

const NAME: &'static str = "AnalogueGainMode"

Source§

type Primitive = i32

Source§

fn try_from_primitive( number: Self::Primitive, ) -> Result<Self, TryFromPrimitiveError<Self>>

Source§

impl Control for AnalogueGainMode

Source§

impl Copy for AnalogueGainMode

Source§

impl Eq for AnalogueGainMode

Source§

impl StructuralPartialEq for AnalogueGainMode

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynControlEntry for T
where T: ControlEntry,

Source§

fn id(&self) -> u32

Source§

fn value(&self) -> ControlValue

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.