pub struct StreamingDecoder {Show 15 fields
state: State,
internal_buffer: [u8; 9],
unused_internal_buffer_len: u8,
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>,
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§internal_buffer: [u8; 9]Input bytes are collected here if update got buf smaller than the minimum required
unused_internal_buffer_len: u8§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>§ext: ExtensionDataext buffer
current: Option<Frame<'static>>Frame data
header_end_reached: boolNeeds to emit HeaderEnd once
Implementations§
Source§impl StreamingDecoder
impl StreamingDecoder
pub(crate) fn with_options(options: &DecodeOptions) -> Self
Sourcepub fn update(
&mut self,
buf: &[u8],
write_into: &mut OutputBuffer<'_>,
) -> Result<(usize, Decoded), DecodingError>
pub fn update( &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_sub_block(&mut self) -> &[u8] ⓘ
pub fn last_ext_sub_block(&mut self) -> &[u8] ⓘ
Data of the last extension sub block that has been decoded. You need to concatenate all subblocks together to get the overall block content.
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.