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

Detailed Description

Definition at line 32 of file driver.h.

#include <driver.h>

+ Collaboration diagram for fl::third_party::TJpgInstanceDecoder:

Classes

struct  EmbeddedTJpgState
 

Public Types

enum class  State {
  NotStarted , HeaderParsed , Decoding , Complete ,
  Error
}
 

Public Member Functions

 TJpgInstanceDecoder () FL_NOEXCEPT
 
 ~TJpgInstanceDecoder ()
 
bool beginDecodingStream (fl::filebuf_ptr stream, PixelFormat format) FL_NOEXCEPT
 
void endDecoding () FL_NOEXCEPT
 
fl::size getBytesProcessed () const FL_NOEXCEPT
 
Frame getCurrentFrame () const FL_NOEXCEPT
 
fl::u16 getDecodedRows () const FL_NOEXCEPT
 
Frame getPartialFrame () const FL_NOEXCEPT
 
float getProgress () const FL_NOEXCEPT
 
State getState () const FL_NOEXCEPT
 
bool hasError (fl::string *msg=nullptr) const FL_NOEXCEPT
 
bool hasPartialImage () const FL_NOEXCEPT
 
bool processChunk () FL_NOEXCEPT
 
void setProgressiveConfig (const TJpgProgressiveConfig &config) FL_NOEXCEPT
 
void setScale (fl::u8 scale) FL_NOEXCEPT
 

Private Member Functions

void allocateFrameBuffer (fl::u16 width, fl::u16 height) FL_NOEXCEPT
 
fl::size getBytesPerPixel () const FL_NOEXCEPT
 
bool initializeDecoder () FL_NOEXCEPT
 
bool readStreamData () FL_NOEXCEPT
 
void setError (const fl::string &msg) FL_NOEXCEPT
 
bool shouldYield () const FL_NOEXCEPT
 
void startTick () FL_NOEXCEPT
 

Static Private Member Functions

static fl::size inputCallback (JDEC *jd, fl::u8 *buff, fl::size nbyte) FL_NOEXCEPT
 
static int outputCallback (JDEC *jd, void *bitmap, JRECT *rect) FL_NOEXCEPT
 

Private Attributes

fl::shared_ptr< Framecurrent_frame_
 
struct fl::third_party::TJpgInstanceDecoder::EmbeddedTJpgState embedded_tjpg_
 
fl::string error_message_
 
fl::unique_ptr< fl::u8[]> frame_buffer_
 
fl::size frame_buffer_size_ = 0
 
fl::unique_ptr< fl::u8[]> input_buffer_
 
fl::size input_size_ = 0
 
fl::filebuf_ptr input_stream_
 
fl::u16 operations_this_tick_ = 0
 
PixelFormat pixel_format_ = PixelFormat::RGB888
 
float progress_ = 0.0f
 
TJpgProgressiveConfig progressive_config_
 
JDEC_Progressive progressive_state_
 
fl::u32 start_time_ms_ = 0
 
State state_ = State::NotStarted
 
bool use_progressive_ = false
 

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