| Index: src/codec/SkJpegUtility.h
|
| diff --git a/src/codec/SkJpegUtility.h b/src/codec/SkJpegUtility.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..42cd7af7607a21b908add78240da8994cbc60964
|
| --- /dev/null
|
| +++ b/src/codec/SkJpegUtility.h
|
| @@ -0,0 +1,50 @@
|
| +/*
|
| + * Copyright 2015 Google Inc.
|
| + *
|
| + * 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 "SkStream.h"
|
| +
|
| +#include <setjmp.h>
|
| +// stdio is needed for jpeglib
|
| +#include <stdio.h>
|
| +
|
| +extern "C" {
|
| + #include "jpeglib.h"
|
| + #include "jerror.h"
|
| +}
|
| +
|
| +/*
|
| + * Error handling struct
|
| + */
|
| +struct skjpeg_error_mgr : jpeg_error_mgr {
|
| + jmp_buf fJmpBuf;
|
| +};
|
| +
|
| +/*
|
| + * Error handling function
|
| + */
|
| +void skjpeg_err_exit(j_common_ptr cinfo);
|
| +
|
| +/*
|
| + * Source handling struct for that allows libjpeg to use our stream object
|
| + */
|
| +struct skjpeg_source_mgr : jpeg_source_mgr {
|
| + skjpeg_source_mgr(SkStream* stream);
|
| +
|
| + SkStream* fStream; // unowned
|
| + enum {
|
| + // TODO (msarett): Experiment with different buffer sizes.
|
| + // This size was chosen because it matches SkImageDecoder.
|
| + kBufferSize = 1024
|
| + };
|
| + uint8_t fBuffer[kBufferSize];
|
| +};
|
| +
|
| +#endif
|
|
|