Struct DetectionOptions

pub struct DetectionOptions { pub analysis_speed: SceneDetectionSpeed, pub detect_flashes: bool, pub min_scenecut_distance: Option<usize>, pub max_scenecut_distance: Option<usize>, pub lookahead_distance: usize }

Options determining how to run scene change detection.

Fields

analysis_speed: SceneDetectionSpeed

The speed of detection algorithm to use. Slower algorithms are more accurate/better for use in encoders.

detect_flashes: bool

Enabling this will utilize heuristics to avoid scenecuts that are too close to each other. This is generally useful if you want scenecut detection for use in an encoder. If you want a raw list of scene changes, you should disable this.

min_scenecut_distance: Option<usize>

The minimum distance between two scene changes.

max_scenecut_distance: Option<usize>

The maximum distance between two scene changes.

lookahead_distance: usize

The distance to look ahead in the video for scene flash detection.

Not used if detect_flashes is false.

Trait Implementations

impl Clone for DetectionOptions

fn clone(&self) -> DetectionOptions

impl Copy for DetectionOptions

impl Debug for DetectionOptions

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

impl Default for DetectionOptions

fn default() -> Self

Auto Trait Implementations

impl Freeze for DetectionOptions

impl RefUnwindSafe for DetectionOptions

impl Send for DetectionOptions

impl Sync for DetectionOptions

impl Unpin for DetectionOptions

impl UnsafeUnpin for DetectionOptions

impl UnwindSafe for DetectionOptions

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

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

impl<T> From<T> for DetectionOptions

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> IntoEither for DetectionOptions

impl<T> Pointable for DetectionOptions

const ALIGN: usize = _;
type Init = T;
unsafe fn init(init: <T as Pointable>::Init) -> usize
unsafe fn deref<'a>(ptr: usize) -> &'a T
unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
unsafe fn drop(ptr: usize)

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

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

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

fn into(self) -> U

Calls U::from(self).

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

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

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

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

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