pub struct Framed<W: Write + 'static + Send + Sync> {
pub frame_idx_start: u32,
pub source_fps: f32,
pub scale: f64,
/* private fields */
}
Expand description
Attributes of a framed video -> ADΔER transcode
Fields§
§frame_idx_start: u32
Index of the first frame to be read from the input video
source_fps: f32
FPS of the input video. Set automatically by Framed::new()
scale: f64
Scale of the input video. Input frames are resized to this scale before transcoding.
Implementations§
Source§impl<W: Write + 'static + Send + Sync> Framed<W>
impl<W: Write + 'static + Send + Sync> Framed<W>
Sourcepub fn new(
input_path: PathBuf,
color_input: bool,
scale: f64,
) -> Result<Framed<W>, SourceError>
pub fn new( input_path: PathBuf, color_input: bool, scale: f64, ) -> Result<Framed<W>, SourceError>
Create a new Framed
source
Sourcepub fn frame_start(self, frame_idx_start: u32) -> Result<Self, SourceError>
pub fn frame_start(self, frame_idx_start: u32) -> Result<Self, SourceError>
Set the start frame of the source
Sourcepub fn auto_time_parameters(
self,
ref_time: DeltaT,
delta_t_max: DeltaT,
time_mode: Option<TimeMode>,
) -> Result<Self, SourceError>
pub fn auto_time_parameters( self, ref_time: DeltaT, delta_t_max: DeltaT, time_mode: Option<TimeMode>, ) -> Result<Self, SourceError>
Automatically derive the ticks per second from the source FPS and ref_time
Sourcepub fn get_ref_time(&self) -> u32
pub fn get_ref_time(&self) -> u32
Get the number of ticks each frame is said to span
Sourcepub fn get_last_input_frame(&self) -> &Frame
pub fn get_last_input_frame(&self) -> &Frame
Get the previous input frame
Trait Implementations§
Source§impl<W: Write + 'static + Send + Sync> From<Framed<W>> for AdderSource<W>
impl<W: Write + 'static + Send + Sync> From<Framed<W>> for AdderSource<W>
Source§fn from(v: Framed<W>) -> AdderSource<W>
fn from(v: Framed<W>) -> AdderSource<W>
Converts to this type from the input type.
Source§impl<W: Write + 'static + Send + Sync> Source<W> for Framed<W>
impl<W: Write + 'static + Send + Sync> Source<W> for Framed<W>
Source§fn consume(&mut self) -> Result<Vec<Vec<Event>>, SourceError>
fn consume(&mut self) -> Result<Vec<Vec<Event>>, SourceError>
Get pixel-wise intensities directly from source frame, and integrate them with
ref_time
(the number of ticks each frame is said to span)
Source§fn crf(&mut self, crf: u8)
fn crf(&mut self, crf: u8)
Set the Constant Rate Factor (CRF) quality setting for the encoder. 0 is lossless, 9 is worst quality.
Source§fn get_video_mut(&mut self) -> &mut Video<W>
fn get_video_mut(&mut self) -> &mut Video<W>
Source§fn get_video_ref(&self) -> &Video<W>
fn get_video_ref(&self) -> &Video<W>
Source§fn get_running_input_bitrate(&self) -> f64
fn get_running_input_bitrate(&self) -> f64
Get the last-calculated bitrate of the input (in bits per second)
Source§impl<W: Write + 'static + Send + Sync> VideoBuilder<W> for Framed<W>
impl<W: Write + 'static + Send + Sync> VideoBuilder<W> for Framed<W>
Source§fn crf(self, crf: u8) -> Self
fn crf(self, crf: u8) -> Self
Set the Constant Rate Factor (CRF) quality setting for the encoder. 0 is lossless, 9 is worst quality.
Source§fn quality_manual(
self,
c_thresh_baseline: u8,
c_thresh_max: u8,
delta_t_max_multiplier: u32,
c_increase_velocity: u8,
feature_c_radius_denom: f32,
) -> Self
fn quality_manual( self, c_thresh_baseline: u8, c_thresh_max: u8, delta_t_max_multiplier: u32, c_increase_velocity: u8, feature_c_radius_denom: f32, ) -> Self
Manually set the parameters dictating quality
Source§fn chunk_rows(self, chunk_rows: usize) -> Self
fn chunk_rows(self, chunk_rows: usize) -> Self
Set the chunk rows
Source§fn time_parameters(
self,
tps: DeltaT,
ref_time: DeltaT,
delta_t_max: DeltaT,
time_mode: Option<TimeMode>,
) -> Result<Self, SourceError>
fn time_parameters( self, tps: DeltaT, ref_time: DeltaT, delta_t_max: DeltaT, time_mode: Option<TimeMode>, ) -> Result<Self, SourceError>
Set the time parameters
Source§fn write_out(
self,
source_camera: SourceCamera,
time_mode: TimeMode,
pixel_multi_mode: PixelMultiMode,
adu_interval: Option<usize>,
encoder_type: EncoderType,
encoder_options: EncoderOptions,
write: W,
) -> Result<Box<Self>, SourceError>
fn write_out( self, source_camera: SourceCamera, time_mode: TimeMode, pixel_multi_mode: PixelMultiMode, adu_interval: Option<usize>, encoder_type: EncoderType, encoder_options: EncoderOptions, write: W, ) -> Result<Box<Self>, SourceError>
Set the
Encoder
Source§fn detect_features(
self,
detect_features: bool,
show_features: ShowFeatureMode,
) -> Self
fn detect_features( self, detect_features: bool, show_features: ShowFeatureMode, ) -> Self
Set whether or not to detect features, and whether or not to display the features
impl<W: Write + Send + Sync> Sync for Framed<W>
Auto Trait Implementations§
impl<W> Freeze for Framed<W>where
W: Freeze,
impl<W> !RefUnwindSafe for Framed<W>
impl<W> Send for Framed<W>
impl<W> Unpin for Framed<W>where
W: Unpin,
impl<W> !UnwindSafe for Framed<W>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
Source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
Performs the conversion.
Source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
Source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
Performs the conversion.
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.