Chromium Code Reviews| Index: src/codec/SkJpegUtility.h |
| diff --git a/src/codec/SkJpegUtility.h b/src/codec/SkJpegUtility.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..3ecadbd3f2935545010798f0f8b3969e75ca1e73 |
| --- /dev/null |
| +++ b/src/codec/SkJpegUtility.h |
| @@ -0,0 +1,48 @@ |
| +/* |
| + * 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 "SkImageDecoder.h" |
| +#include "SkStream.h" |
| + |
| +#include <setjmp.h> |
| +// stdio is needed for jpeglib |
| +#include <stdio.h> |
| +#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 |
| + }; |
| + SkAutoTDeleteArray<uint8_t> fBuffer; |
|
scroggo
2015/04/14 13:10:33
This can just be:
uint8_t fBuffer[kBufferSize];
msarett
2015/04/14 19:30:36
You are right. I have had several misunderstandin
|
| +}; |
| + |
| +#endif |