Struct gif::streaming_decoder::StreamingDecoder
source · pub struct StreamingDecoder {Show 14 fields
state: State,
lzw_reader: LzwReader,
skip_frame_decoding: bool,
check_frame_consistency: bool,
allow_unknown_blocks: bool,
memory_limit: MemoryLimit,
version: Version,
width: u16,
height: u16,
global_color_table: Vec<u8>,
background_color: [u8; 4],
ext: ExtensionData,
current: Option<Frame<'static>>,
header_end_reached: bool,
}
Expand description
GIF decoder which emits low-level events for items in the GIF file
To just get GIF frames, use crate::Decoder
instead.
Fields§
§state: State
§lzw_reader: LzwReader
§skip_frame_decoding: bool
§check_frame_consistency: bool
§allow_unknown_blocks: bool
§memory_limit: MemoryLimit
§version: Version
§width: u16
§height: u16
§global_color_table: Vec<u8>
§background_color: [u8; 4]
§ext: ExtensionData
ext buffer
current: Option<Frame<'static>>
Frame data
header_end_reached: bool
Needs to emit HeaderEnd
once
Implementations§
source§impl StreamingDecoder
impl StreamingDecoder
sourcepub fn new() -> StreamingDecoder
pub fn new() -> StreamingDecoder
Creates a new streaming decoder
pub(crate) fn with_options(options: &DecodeOptions) -> Self
sourcepub fn update<'a>(
&'a mut self,
buf: &[u8],
write_into: &mut OutputBuffer<'_>,
) -> Result<(usize, Decoded), DecodingError>
pub fn update<'a>( &'a mut self, buf: &[u8], write_into: &mut OutputBuffer<'_>, ) -> Result<(usize, Decoded), DecodingError>
Updates the internal state of the decoder.
Returns the number of bytes consumed from the input buffer and the last decoding result.
sourcepub fn last_ext(&self) -> (AnyExtension, &[u8], bool)
pub fn last_ext(&self) -> (AnyExtension, &[u8], bool)
Returns the data of the last extension that has been decoded.
sourcepub fn current_frame_mut(&mut self) -> &mut Frame<'static>
pub fn current_frame_mut(&mut self) -> &mut Frame<'static>
Current frame info as a mutable ref.
sourcepub fn current_frame(&self) -> &Frame<'static>
pub fn current_frame(&self) -> &Frame<'static>
Current frame info as a ref.
sourcefn try_current_frame(&mut self) -> Result<&mut Frame<'static>, DecodingError>
fn try_current_frame(&mut self) -> Result<&mut Frame<'static>, DecodingError>
Current frame info as a mutable ref.
sourcepub fn version(&self) -> Version
pub fn version(&self) -> Version
The version number of the GIF standard used in this image.
We suppose a minimum of V87a
compatibility. This value will be reported until we have
read the version information in the magic header bytes.
fn next_state( &mut self, buf: &[u8], write_into: &mut OutputBuffer<'_>, ) -> Result<(usize, Decoded), DecodingError>
fn read_second_byte( &mut self, next: U16Value, value: u8, b: u8, ) -> Result<State, DecodingError>
fn read_control_extension(&mut self, b: u8) -> Result<State, DecodingError>
fn add_frame(&mut self)
Auto Trait Implementations§
impl Freeze for StreamingDecoder
impl !RefUnwindSafe for StreamingDecoder
impl Send for StreamingDecoder
impl !Sync for StreamingDecoder
impl Unpin for StreamingDecoder
impl !UnwindSafe for StreamingDecoder
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