7#ifndef CORE_FXCODEC_JBIG2_JBIG2_DECODER_H_
8#define CORE_FXCODEC_JBIG2_JBIG2_DECODER_H_
12#include "core/fxcodec/fx_codec_def.h"
13#include "core/fxcrt/unowned_ptr_exclusion.h"
14#include "third_party/base/containers/span.h"
45 pdfium::span<
const uint8_t> src_span,
47 pdfium::span<
const uint8_t> global_span,
49 pdfium::span<uint8_t> dest_buf,
void SetPaletteArgb(int index, uint32_t color)
static uint32_t ComponentsForFamily(Family family)
static RetainPtr< CPDF_ColorSpace > GetStockCS(Family family)
RetainPtr< CPDF_DIB > DetachMask()
size_t GetEstimatedImageMemoryBurden() const override
uint32_t GetMatteColor() const
bool SkipToScanline(int line, PauseIndicatorIface *pPause) const override
RetainPtr< CPDF_ColorSpace > GetColorSpace() const
LoadState ContinueLoadDIBBase(PauseIndicatorIface *pPause)
pdfium::span< const uint8_t > GetScanline(int line) const override
LoadState StartLoadDIBBase(bool bHasMask, const CPDF_Dictionary *pFormResources, const CPDF_Dictionary *pPageResources, bool bStdCS, CPDF_ColorSpace::Family GroupFamily, bool bLoadMask, const CFX_Size &max_size_required)
static bool IsValidJpegBitsPerComponent(int32_t bpc)
static bool IsValidJpegComponent(int32_t comps)
static DataVector< uint8_t > RunLengthEncode(pdfium::span< const uint8_t > src_span)
static std::unique_ptr< ScanlineDecoder > CreateRunLengthDecoder(pdfium::span< const uint8_t > src_buf, int width, int height, int nComps, int bpc)
BasicModule & operator=(const BasicModule &)=delete
BasicModule(const BasicModule &)=delete
static DataVector< uint8_t > A85Encode(pdfium::span< const uint8_t > src_span)
pdfium::span< const uint8_t > m_pSrcSpan
pdfium::span< const uint8_t > m_pGlobalSpan
std::unique_ptr< CJBig2_Context > m_pContext
UNOWNED_PTR_EXCLUSION uint8_t * m_dest_buf
static FXCODEC_STATUS StartDecode(Jbig2Context *pJbig2Context, JBig2_DocumentContext *pJbig2DocumentContext, uint32_t width, uint32_t height, pdfium::span< const uint8_t > src_span, uint64_t src_key, pdfium::span< const uint8_t > global_span, uint64_t global_key, pdfium::span< uint8_t > dest_buf, uint32_t dest_pitch, PauseIndicatorIface *pPause)
static FXCODEC_STATUS ContinueDecode(Jbig2Context *pJbig2Context, PauseIndicatorIface *pPause)
Jbig2Decoder(const Jbig2Decoder &)=delete
Jbig2Decoder & operator=(const Jbig2Decoder &)=delete
bool operator==(const char *ptr) const
bool operator!=(const char *ptr) const
constexpr size_t kHugeImageSize
FXDIB_Format MakeRGBFormat(int bpp)
constexpr FX_ARGB ArgbEncode(uint32_t a, uint32_t r, uint32_t g, uint32_t b)
int FXSYS_roundf(float f)
#define CONSTRUCT_VIA_MAKE_RETAIN
#define UNOWNED_PTR_EXCLUSION