Encoder

Struct Encoder 

Source
pub struct Encoder(pub Video);

Tuple Fields§

§0: Video

Implementations§

Source§

impl Encoder

Source

pub fn frame_size(&self) -> u32

Methods from Deref<Target = Video>§

Source

pub fn set_width(&mut self, value: u32)

Source

pub fn width(&self) -> u32

Source

pub fn set_height(&mut self, value: u32)

Source

pub fn height(&self) -> u32

Source

pub fn set_gop(&mut self, value: u32)

Source

pub fn set_format(&mut self, value: Pixel)

Source

pub fn format(&self) -> Pixel

Source

pub fn set_max_b_frames(&mut self, value: usize)

Source

pub fn set_b_quant_factor(&mut self, value: f32)

Source

pub fn set_b_quant_offset(&mut self, value: f32)

Source

pub fn set_i_quant_factor(&mut self, value: f32)

Source

pub fn set_i_quant_offset(&mut self, value: f32)

Source

pub fn set_lumi_masking(&mut self, value: f32)

Source

pub fn set_temporal_cplx_masking(&mut self, value: f32)

Source

pub fn set_spatial_cplx_masking(&mut self, value: f32)

Source

pub fn set_p_masking(&mut self, value: f32)

Source

pub fn set_dark_masking(&mut self, value: f32)

Source

pub fn set_aspect_ratio<R: Into<Rational>>(&mut self, value: R)

Source

pub fn set_me_comparison(&mut self, value: Comparison)

Source

pub fn set_me_sub_comparison(&mut self, value: Comparison)

Source

pub fn set_mb_comparison(&mut self, value: Comparison)

Source

pub fn set_ildct_comparison(&mut self, value: Comparison)

Source

pub fn set_dia_size(&mut self, value: usize)

Source

pub fn set_last_predictors(&mut self, value: usize)

Source

pub fn set_me_pre_comparison(&mut self, value: Comparison)

Source

pub fn set_pre_dia_size(&mut self, value: usize)

Source

pub fn set_me_subpel_quality(&mut self, value: usize)

Source

pub fn set_me_range(&mut self, value: usize)

Source

pub fn set_mb_decision(&mut self, value: Decision)

Source

pub fn set_mb_lmin(&mut self, value: i32)

Source

pub fn set_mb_lmax(&mut self, value: i32)

Source

pub fn set_intra_dc_precision(&mut self, value: u8)

Source

pub fn set_qmin(&mut self, value: i32)

Source

pub fn set_qmax(&mut self, value: i32)

Source

pub fn set_global_quality(&mut self, value: i32)

Source

pub fn set_colorspace(&mut self, value: Space)

Source

pub fn colorspace(&self) -> Space

Source

pub fn set_color_range(&mut self, value: Range)

Source

pub fn color_range(&self) -> Range

Methods from Deref<Target = Super>§

Source

pub fn send_frame(&mut self, frame: &Frame) -> Result<(), Error>

Sends a raw frame to the encoder.

The encoder will buffer and encode the frame according to its configuration. Call receive_packet() to retrieve encoded packets.

§Errors
  • Error::Other(EAGAIN) - The encoder needs more frames before producing output
  • Error::Eof - The encoder has been flushed and won’t accept more frames
  • Other errors indicate encoding failure
Source

pub fn send_eof(&mut self) -> Result<(), Error>

Signals end-of-stream and enters draining mode.

After calling this, continue calling receive_packet() until it returns Error::Eof to retrieve all buffered encoded packets.

§Errors

Returns an error if the encoder is in an invalid state.

Source

pub fn receive_packet<P: Mut>(&mut self, packet: &mut P) -> Result<(), Error>

Receives an encoded packet from the encoder.

Call this repeatedly after send_frame() to retrieve all available encoded packets.

§Errors
  • Error::Other(EAGAIN) - Need to send more frames before output is available
  • Error::Eof - No more packets (encoder has been drained)
  • Other errors indicate encoding failure
Source

pub fn set_bit_rate(&mut self, value: usize)

Sets the target bitrate in bits per second.

This is the average bitrate the encoder will try to achieve. Used for CBR (constant bitrate) or ABR (average bitrate) encoding.

Source

pub fn set_max_bit_rate(&mut self, value: usize)

Sets the maximum bitrate in bits per second for VBR encoding.

Combined with bitrate, this defines the bitrate range for variable bitrate encoding. The encoder will never exceed this bitrate.

Source

pub fn set_tolerance(&mut self, value: usize)

Sets the bitrate tolerance for rate control.

Defines how much the bitrate can deviate from the target. Higher values allow more variation (better quality in complex scenes) but less consistent bitrate.

Source

pub fn set_quality(&mut self, value: usize)

Sets the global quality/quantizer for quality-based encoding.

Interpretation is codec-specific. For example:

  • MPEG-2/4: Use 1 (best) to 31 (worst)
  • H.264: Use with CRF mode

Lower values = higher quality = larger file size.

Source

pub fn set_compression(&mut self, value: Option<usize>)

Sets the compression level.

Codec-specific parameter controlling the speed/compression tradeoff. Higher values = slower encoding but better compression.

Pass None to use the codec’s default (-1).

Methods from Deref<Target = Context>§

Source

pub unsafe fn as_ptr(&self) -> *const AVCodecContext

Source

pub unsafe fn as_mut_ptr(&mut self) -> *mut AVCodecContext

Source

pub fn codec(&self) -> Option<Codec>

Source

pub fn medium(&self) -> Type

Source

pub fn set_flags(&mut self, value: Flags)

Source

pub fn id(&self) -> Id

Source

pub fn compliance(&mut self, value: Compliance)

Source

pub fn debug(&mut self, value: Debug)

Source

pub fn set_threading(&mut self, config: Config)

Source

pub fn threading(&self) -> Config

Source

pub fn set_parameters<P: Into<Parameters>>( &mut self, parameters: P, ) -> Result<(), Error>

Source

pub fn time_base(&self) -> Rational

Source

pub fn set_time_base<R: Into<Rational>>(&mut self, value: R)

Source

pub fn frame_rate(&self) -> Rational

Source

pub fn set_frame_rate<R: Into<Rational>>(&mut self, value: Option<R>)

Trait Implementations§

Source§

impl AsMut<Context> for Encoder

Source§

fn as_mut(&mut self) -> &mut Context

Converts this type into a mutable reference of the (usually inferred) input type.
Source§

impl AsRef<Context> for Encoder

Source§

fn as_ref(&self) -> &Context

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Deref for Encoder

Source§

type Target = Video

The resulting type after dereferencing.
Source§

fn deref(&self) -> &<Self as Deref>::Target

Dereferences the value.
Source§

impl DerefMut for Encoder

Source§

fn deref_mut(&mut self) -> &mut <Self as Deref>::Target

Mutably dereferences the value.

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> 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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.