Struct openh264::decoder::Decoder

source ·
pub struct Decoder { /* private fields */ }
Expand description

An OpenH264 decoder.

Implementations§

source§

impl Decoder

source

pub fn new() -> Result<Self, Error>

Create a decoder with default settings.

source

pub fn with_config(config: DecoderConfig) -> Result<Self, Error>

Create a decoder with the provided configuration.

source

pub fn decode(&mut self, packet: &[u8]) -> Result<Option<DecodedYUV<'_>>, Error>

Decodes a series of H.264 NAL packets and returns the latest picture.

This function can be called with:

  • only a complete SPS / PPS header (usually the first some 30 bytes of a H.264 stream)
  • the headers and series of complete frames
  • new frames after previous headers and frames were successfully decoded.

In each case, it will return Some(decoded) image in YUV format if an image was available, or None if more data needs to be provided.

§Errors

The function returns an error if the bitstream was corrupted.

source

pub unsafe fn raw_api(&mut self) -> &mut DecoderRawAPI

Obtain the raw API for advanced use cases.

When resorting to this call, please consider filing an issue / PR.

§Safety

You must not set parameters the decoder relies on, we recommend checking the source.

§Example
use openh264::decoder::{DecoderConfig, Decoder};

let config = DecoderConfig::default();
let mut decoder = Decoder::with_config(config)?;

unsafe {
    let _ = decoder.raw_api();
};

Trait Implementations§

source§

impl Debug for Decoder

source§

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

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

impl Drop for Decoder

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

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<T, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.