71 bool hasError(
fl::
string* msg =
nullptr) const override;
119 Frame* frame, fl::u32 timeout_ms,
120 float* progress_out =
nullptr,
124 Frame* frame, fl::u32 max_time_per_chunk_ms = 4,
static bool decode(const JpegConfig &config, fl::span< const fl::u8 > data, Frame *frame, fl::string *error_message=nullptr)
static JpegDecoderPtr createDecoder(const JpegConfig &config)
static bool isSupported()
static bool decodeWithTimeout(const JpegConfig &config, fl::span< const fl::u8 > data, Frame *frame, fl::u32 timeout_ms, float *progress_out=nullptr, fl::string *error_message=nullptr)
static bool decodeStream(const JpegConfig &config, fl::filebuf_ptr input_stream, Frame *frame, fl::u32 max_time_per_chunk_ms=4, fl::function< bool(float)> progress_callback={})
static JpegInfo parseInfo(fl::span< const fl::u8 > data, fl::string *error_message=nullptr)
fl::unique_ptr< Impl > mImpl
bool hasPartialImage() const
bool begin(fl::filebuf_ptr stream) override
static bool NeverYeildUntilDone()
~JpegDecoder() FL_NOEXCEPT override
JpegDecoder(const JpegConfig &config)
bool needsMoreData() const
bool hasMoreFrames() const override
void setProgressiveConfig(const ProgressiveConfig &config)
ProgressiveConfig getProgressiveConfig() const
bool feedData(fl::span< const fl::u8 > data)
DecodeResult decode() override
bool hasError(fl::string *msg=nullptr) const override
Frame getCurrentFrame() override
float getProgress() const
bool isReady() const override
fl::u16 getDecodedRows() const
fl::function< bool()> YieldFunction
fl::size getBytesProcessed() const
fl::shared_ptr< filebuf > filebuf_ptr
fl::shared_ptr< JpegDecoder > JpegDecoderPtr
Base definition for an LED controller.
JpegConfig() FL_NOEXCEPT=default
fl::u8 bits_per_component
JpegInfo() FL_NOEXCEPT=default
ProgressiveConfig() FL_NOEXCEPT=default
fl::u16 max_mcus_per_tick
bool yield_on_row_complete
fl::size input_buffer_size
fl::u32 max_time_per_tick_ms