![]() |
IDS peak AFL v1.8.0
|
Skip frames feature implementation for auto controllers. More...
#include <peak_afl/pipeline/modules/controllers/features/peak_afl_skip_frames.hpp>
Public Member Functions | |
| SkipFrames (std::shared_ptr< peak::afl::Controller > controller) | |
| Constructs a SkipFrames feature with the specified controller. | |
| void | Set (const uint32_t &value) override |
| Sets the number of frames to skip. | |
| PEAK_COMMON_NO_DISCARD uint32_t | Get () const override |
| Gets the current number of frames to skip. | |
| PEAK_COMMON_NO_DISCARD peak::common::RangeU | GetRange () const override |
| Gets the valid range for skip frames values. | |
| void | Serialize (peak::common::serialization::IArchive &archive) const override |
| Serializes the current skip frames value to an archive. | |
| void | Deserialize (const peak::common::serialization::IArchive &archive) override |
| Deserializes the skip frames value from an archive. | |
Public Member Functions inherited from IFeature< uint32_t > | |
| virtual | ~IFeature ()=default |
| Virtual destructor for proper cleanup of derived classes. | |
Skip frames feature implementation for auto controllers.
The SkipFrames class provides a feature interface for managing the skip frames parameter of auto controllers. This feature controls how many frames the automatic algorithms should skip between processing cycles.
Frame skipping is useful for performance optimization and to allow camera parameters to stabilize between auto adjustments. For example, setting skip frames to 5 means the auto algorithm will process every 6th frame (skip 5, process 1), giving the camera time to settle after parameter changes.
This class inherits from IRangeFeature<uint32_t> and provides serialization support for configuration persistence.
|
inlineexplicit |
Constructs a SkipFrames feature with the specified controller.
| [in] | controller | Shared pointer to the auto controller that will be used to manage the skip frames parameter. The controller must support skip frames operations. |
|
inlineoverridevirtual |
Deserializes the skip frames value from an archive.
Loads the skip frames value from the provided archive and applies it to the controller. The value is expected to be stored with the key "SkipFrames".
| [in] | archive | The archive to read the skip frames value from |
| May | throw serialization exceptions if the archive operation fails |
| May | throw controller exceptions if the deserialized value is invalid |
Implements ISerializable.
|
inlineoverridevirtual |
Gets the current number of frames to skip.
Retrieves the currently configured number of frames that the automatic algorithms skip between processing cycles.
| May | throw exceptions based on the underlying controller implementation if the controller is in an invalid state. |
Implements IFeature< uint32_t >.
|
inlineoverridevirtual |
Gets the valid range for skip frames values.
Retrieves the minimum, maximum, and increment values that are valid for the skip frames parameter. This information can be used to validate input values or to populate user interface controls.
| May | throw exceptions based on the underlying controller implementation if the controller is in an invalid state. |
Implements IRangeFeature< uint32_t >.
|
inlineoverridevirtual |
Serializes the current skip frames value to an archive.
Stores the current skip frames value in the provided archive for configuration persistence. The value is stored with the key "SkipFrames".
| [in,out] | archive | The archive to write the skip frames value to |
| May | throw serialization exceptions if the archive operation fails |
Implements ISerializable.
|
inlineoverridevirtual |
Sets the number of frames to skip.
Sets the number of frames that the automatic algorithms should skip between processing cycles. This allows for performance optimization and gives camera parameters time to stabilize between adjustments.
| [in] | value | The number of frames to skip. A value of 0 means process every frame, 1 means skip 1 frame (process every other frame), etc. The exact valid range can be obtained using GetRange(). |
| May | throw exceptions based on the underlying controller implementation if the value is outside the valid range or if the controller is in an invalid state. |
Implements IFeature< uint32_t >.