Struct gif::reader::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 !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