OLD | NEW |
| (Empty) |
1 /* | |
2 * Copyright 2015 Google Inc. | |
3 * | |
4 * Use of this source code is governed by a BSD-style license that can be | |
5 * found in the LICENSE file. | |
6 */ | |
7 | |
8 | |
9 #ifndef SkJpegUtility_DEFINED | |
10 #define SkJpegUtility_DEFINED | |
11 | |
12 #include "SkStream.h" | |
13 | |
14 #include <setjmp.h> | |
15 // stdio is needed for jpeglib | |
16 #include <stdio.h> | |
17 | |
18 extern "C" { | |
19 #include "jpeglib.h" | |
20 #include "jerror.h" | |
21 } | |
22 | |
23 /* | |
24 * Error handling struct | |
25 */ | |
26 struct skjpeg_error_mgr : jpeg_error_mgr { | |
27 jmp_buf fJmpBuf; | |
28 }; | |
29 | |
30 /* | |
31 * Error handling function | |
32 */ | |
33 void skjpeg_err_exit(j_common_ptr cinfo); | |
34 | |
35 /* | |
36 * Source handling struct for that allows libjpeg to use our stream object | |
37 */ | |
38 struct skjpeg_source_mgr : jpeg_source_mgr { | |
39 skjpeg_source_mgr(SkStream* stream); | |
40 | |
41 SkStream* fStream; // unowned | |
42 enum { | |
43 // TODO (msarett): Experiment with different buffer sizes. | |
44 // This size was chosen because it matches SkImageDecoder. | |
45 kBufferSize = 1024 | |
46 }; | |
47 uint8_t fBuffer[kBufferSize]; | |
48 }; | |
49 | |
50 #endif | |
OLD | NEW |