FastLED 3.9.15
Loading...
Searching...
No Matches
fl::third_party::SoftwareGifDecoder Class Reference

Detailed Description

Software GIF decoder implementation using libnsgif.

This decoder provides full animated GIF support through the FastLED IDecoder interface, enabling streaming decode of GIF animations with proper frame timing and disposal method handling.

Definition at line 42 of file software_decoder.h.

#include <software_decoder.h>

+ Inheritance diagram for fl::third_party::SoftwareGifDecoder:
+ Collaboration diagram for fl::third_party::SoftwareGifDecoder:

Public Member Functions

 SoftwareGifDecoder (fl::PixelFormat format=fl::PixelFormat::RGB888) FL_NOEXCEPT
 
 ~SoftwareGifDecoder ()
 
bool begin (fl::filebuf_ptr stream) FL_NOEXCEPT override
 
fl::DecodeResult decode () FL_NOEXCEPT override
 
void end () FL_NOEXCEPT override
 
fl::Frame getCurrentFrame () FL_NOEXCEPT override
 
fl::u32 getCurrentFrameIndex () const FL_NOEXCEPT override
 
fl::u32 getFrameCount () const FL_NOEXCEPT override
 
fl::u16 getHeight () const FL_NOEXCEPT
 
fl::u32 getLoopCount () const FL_NOEXCEPT
 
fl::u16 getWidth () const FL_NOEXCEPT
 
bool hasError (fl::string *msg=nullptr) const FL_NOEXCEPT override
 
bool hasMoreFrames () const FL_NOEXCEPT override
 
bool isAnimated () const FL_NOEXCEPT
 
bool isReady () const FL_NOEXCEPT override
 
bool seek (fl::u32 frameIndex) FL_NOEXCEPT override
 
- Public Member Functions inherited from fl::IDecoder
virtual ~IDecoder () FL_NOEXCEPT=default
 
virtual int getAudioSampleRate () const
 
virtual bool hasAudio () const
 
virtual void setAudioCallback (AudioFrameCallback callback)
 

Private Member Functions

void cleanupDecoder () FL_NOEXCEPT
 
fl::shared_ptr< fl::FrameconvertBitmapToFrame (nsgif_bitmap_t *bitmap) FL_NOEXCEPT
 
bool initializeDecoder () FL_NOEXCEPT
 
bool loadMoreData () FL_NOEXCEPT
 
void setError (const fl::string &message) FL_NOEXCEPT
 

Static Private Member Functions

static nsgif_bitmap_tbitmapCreate (int width, int height) FL_NOEXCEPT
 
static void bitmapDestroy (nsgif_bitmap_t *bitmap) FL_NOEXCEPT
 
static fl::u8bitmapGetBuffer (nsgif_bitmap_t *bitmap) FL_NOEXCEPT
 

Private Attributes

fl::shared_ptr< fl::FramecurrentFrame_
 
fl::u32 currentFrameIndex_
 
fl::vector< fl::u8dataBuffer_
 
bool dataComplete_
 
bool endOfStream_
 
fl::string errorMessage_
 
nsgif_tgif_
 
bool hasError_
 
bool ready_
 
fl::filebuf_ptr stream_
 

Static Private Attributes

static nsgif_bitmap_cb_vt bitmapCallbacks_
 

The documentation for this class was generated from the following files: