blob: c6072577f00ba5ed9ea1b0f74985775a0e397f59 [file] [log] [blame]
* Copyright 2010 The Android Open Source Project
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
#ifndef SkJpegUtility_DEFINED
#define SkJpegUtility_DEFINED
#include "include/core/SkTypes.h"
#include <cstdint>
extern "C" {
// We need to include stdio.h before jpeg because jpeg does not include it, but uses FILE
// See
#include <stdio.h> // IWYU pragma: keep
#include "jpeglib.h"
class SkData;
class SkWStream;
void skjpeg_error_exit(j_common_ptr cinfo);
/* Our destination struct for directing decompressed pixels to our stream
* object.
struct SK_SPI skjpeg_destination_mgr : jpeg_destination_mgr {
skjpeg_destination_mgr(SkWStream* stream, SkData* suffix = nullptr);
SkWStream* const fStream;
// Extra data to write after the Jpeg file's EndOfImage. Used for JpegR
// based gainmaps.
SkData* const fSuffix;
enum {
kBufferSize = 1024
uint8_t fBuffer[kBufferSize];