Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(252)

Side by Side Diff: core/include/fxcodec/fx_codec.h

Issue 1540993004: Revert "Cleanup: Remove unused CFX_PSRenderer and various encoders it used." (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/include/fpdfapi/fpdf_parser.h ('k') | core/include/fxge/fx_ge.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #ifndef CORE_INCLUDE_FXCODEC_FX_CODEC_H_ 7 #ifndef CORE_INCLUDE_FXCODEC_FX_CODEC_H_
8 #define CORE_INCLUDE_FXCODEC_FX_CODEC_H_ 8 #define CORE_INCLUDE_FXCODEC_FX_CODEC_H_
9 9
10 #include <vector> 10 #include <vector>
11 11
12 #include "core/include/fxcrt/fx_basic.h" 12 #include "core/include/fxcrt/fx_basic.h"
13 #include "fx_codec_def.h" 13 #include "fx_codec_def.h"
14 #include "third_party/base/nonstd_unique_ptr.h" 14 #include "third_party/base/nonstd_unique_ptr.h"
15 15
16 class CFX_DIBSource; 16 class CFX_DIBSource;
17 class CJPX_Decoder; 17 class CJPX_Decoder;
18 class CPDF_PrivateData; 18 class CPDF_PrivateData;
19 class CPDF_StreamAcc; 19 class CPDF_StreamAcc;
20 class ICodec_ScanlineDecoder; 20 class ICodec_ScanlineDecoder;
21 class ICodec_BasicModule; 21 class ICodec_BasicModule;
22 class ICodec_FaxModule; 22 class ICodec_FaxModule;
23 class ICodec_JpegModule; 23 class ICodec_JpegModule;
24 class ICodec_JpxModule; 24 class ICodec_JpxModule;
25 class ICodec_Jbig2Module; 25 class ICodec_Jbig2Module;
26 class ICodec_IccModule; 26 class ICodec_IccModule;
27 class ICodec_FlateModule; 27 class ICodec_FlateModule;
28 class ICodec_Jbig2Encoder;
28 class ICodec_ScanlineDecoder; 29 class ICodec_ScanlineDecoder;
29 30
30 class CCodec_ModuleMgr { 31 class CCodec_ModuleMgr {
31 public: 32 public:
32 CCodec_ModuleMgr(); 33 CCodec_ModuleMgr();
33 34
34 ICodec_BasicModule* GetBasicModule() const { return m_pBasicModule.get(); } 35 ICodec_BasicModule* GetBasicModule() const { return m_pBasicModule.get(); }
35 ICodec_FaxModule* GetFaxModule() const { return m_pFaxModule.get(); } 36 ICodec_FaxModule* GetFaxModule() const { return m_pFaxModule.get(); }
36 ICodec_JpegModule* GetJpegModule() const { return m_pJpegModule.get(); } 37 ICodec_JpegModule* GetJpegModule() const { return m_pJpegModule.get(); }
37 ICodec_JpxModule* GetJpxModule() const { return m_pJpxModule.get(); } 38 ICodec_JpxModule* GetJpxModule() const { return m_pJpxModule.get(); }
38 ICodec_Jbig2Module* GetJbig2Module() const { return m_pJbig2Module.get(); } 39 ICodec_Jbig2Module* GetJbig2Module() const { return m_pJbig2Module.get(); }
39 ICodec_IccModule* GetIccModule() const { return m_pIccModule.get(); } 40 ICodec_IccModule* GetIccModule() const { return m_pIccModule.get(); }
40 ICodec_FlateModule* GetFlateModule() const { return m_pFlateModule.get(); } 41 ICodec_FlateModule* GetFlateModule() const { return m_pFlateModule.get(); }
41 42
42 protected: 43 protected:
43 nonstd::unique_ptr<ICodec_BasicModule> m_pBasicModule; 44 nonstd::unique_ptr<ICodec_BasicModule> m_pBasicModule;
44 nonstd::unique_ptr<ICodec_FaxModule> m_pFaxModule; 45 nonstd::unique_ptr<ICodec_FaxModule> m_pFaxModule;
45 nonstd::unique_ptr<ICodec_JpegModule> m_pJpegModule; 46 nonstd::unique_ptr<ICodec_JpegModule> m_pJpegModule;
46 nonstd::unique_ptr<ICodec_JpxModule> m_pJpxModule; 47 nonstd::unique_ptr<ICodec_JpxModule> m_pJpxModule;
47 nonstd::unique_ptr<ICodec_Jbig2Module> m_pJbig2Module; 48 nonstd::unique_ptr<ICodec_Jbig2Module> m_pJbig2Module;
48 nonstd::unique_ptr<ICodec_IccModule> m_pIccModule; 49 nonstd::unique_ptr<ICodec_IccModule> m_pIccModule;
49 nonstd::unique_ptr<ICodec_FlateModule> m_pFlateModule; 50 nonstd::unique_ptr<ICodec_FlateModule> m_pFlateModule;
50 }; 51 };
51 class ICodec_BasicModule { 52 class ICodec_BasicModule {
52 public: 53 public:
53 virtual ~ICodec_BasicModule() {} 54 virtual ~ICodec_BasicModule() {}
55 virtual FX_BOOL RunLengthEncode(const uint8_t* src_buf,
56 FX_DWORD src_size,
57 uint8_t*& dest_buf,
58 FX_DWORD& dest_size) = 0;
59 virtual FX_BOOL A85Encode(const uint8_t* src_buf,
60 FX_DWORD src_size,
61 uint8_t*& dest_buf,
62 FX_DWORD& dest_size) = 0;
54 virtual ICodec_ScanlineDecoder* CreateRunLengthDecoder(const uint8_t* src_buf, 63 virtual ICodec_ScanlineDecoder* CreateRunLengthDecoder(const uint8_t* src_buf,
55 FX_DWORD src_size, 64 FX_DWORD src_size,
56 int width, 65 int width,
57 int height, 66 int height,
58 int nComps, 67 int nComps,
59 int bpc) = 0; 68 int bpc) = 0;
60 }; 69 };
61 70
62 class ICodec_ScanlineDecoder { 71 class ICodec_ScanlineDecoder {
63 public: 72 public:
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 const uint8_t* src_buf, 110 const uint8_t* src_buf,
102 FX_DWORD src_size, 111 FX_DWORD src_size,
103 FX_BOOL bEarlyChange, 112 FX_BOOL bEarlyChange,
104 int predictor, 113 int predictor,
105 int Colors, 114 int Colors,
106 int BitsPerComponent, 115 int BitsPerComponent,
107 int Columns, 116 int Columns,
108 FX_DWORD estimated_size, 117 FX_DWORD estimated_size,
109 uint8_t*& dest_buf, 118 uint8_t*& dest_buf,
110 FX_DWORD& dest_size) = 0; 119 FX_DWORD& dest_size) = 0;
111 virtual bool Encode(const uint8_t* src_buf, 120 virtual FX_BOOL Encode(const uint8_t* src_buf,
112 FX_DWORD src_size,
113 uint8_t** dest_buf,
114 FX_DWORD* dest_size) = 0;
115 virtual bool PngEncode(const uint8_t* src_buf,
116 FX_DWORD src_size, 121 FX_DWORD src_size,
117 uint8_t** dest_buf, 122 int predictor,
118 FX_DWORD* dest_size) = 0; 123 int Colors,
124 int BitsPerComponent,
125 int Columns,
126 uint8_t*& dest_buf,
127 FX_DWORD& dest_size) = 0;
128 virtual FX_BOOL Encode(const uint8_t* src_buf,
129 FX_DWORD src_size,
130 uint8_t*& dest_buf,
131 FX_DWORD& dest_size) = 0;
119 }; 132 };
120 class ICodec_FaxModule { 133 class ICodec_FaxModule {
121 public: 134 public:
122 virtual ~ICodec_FaxModule() {} 135 virtual ~ICodec_FaxModule() {}
123 136
124 virtual ICodec_ScanlineDecoder* CreateDecoder(const uint8_t* src_buf, 137 virtual ICodec_ScanlineDecoder* CreateDecoder(const uint8_t* src_buf,
125 FX_DWORD src_size, 138 FX_DWORD src_size,
126 int width, 139 int width,
127 int height, 140 int height,
128 int K, 141 int K,
129 FX_BOOL EndOfLine, 142 FX_BOOL EndOfLine,
130 FX_BOOL EncodedByteAlign, 143 FX_BOOL EncodedByteAlign,
131 FX_BOOL BlackIs1, 144 FX_BOOL BlackIs1,
132 int Columns, 145 int Columns,
133 int Rows) = 0; 146 int Rows) = 0;
147
148 virtual FX_BOOL Encode(const uint8_t* src_buf,
149 int width,
150 int height,
151 int pitch,
152 uint8_t*& dest_buf,
153 FX_DWORD& dest_size) = 0;
134 }; 154 };
135
136 class ICodec_JpegModule { 155 class ICodec_JpegModule {
137 public: 156 public:
138 virtual ~ICodec_JpegModule() {} 157 virtual ~ICodec_JpegModule() {}
139 158
140 virtual ICodec_ScanlineDecoder* CreateDecoder(const uint8_t* src_buf, 159 virtual ICodec_ScanlineDecoder* CreateDecoder(const uint8_t* src_buf,
141 FX_DWORD src_size, 160 FX_DWORD src_size,
142 int width, 161 int width,
143 int height, 162 int height,
144 int nComps, 163 int nComps,
145 FX_BOOL ColorTransform) = 0; 164 FX_BOOL ColorTransform) = 0;
146 165
147 virtual bool LoadInfo(const uint8_t* src_buf, 166 virtual FX_BOOL LoadInfo(const uint8_t* src_buf,
148 FX_DWORD src_size, 167 FX_DWORD src_size,
149 int* width, 168 int& width,
150 int* height, 169 int& height,
151 int* num_components, 170 int& num_components,
152 int* bits_per_components, 171 int& bits_per_components,
153 bool* color_transform) = 0; 172 FX_BOOL& color_transform,
173 uint8_t** icc_buf_ptr = NULL,
174 FX_DWORD* icc_length = NULL) = 0;
175
176 virtual FX_BOOL Encode(const class CFX_DIBSource* pSource,
177 uint8_t*& dest_buf,
178 FX_STRSIZE& dest_size,
179 int quality = 75,
180 const uint8_t* icc_buf = NULL,
181 FX_DWORD icc_length = 0) = 0;
154 182
155 virtual void* Start() = 0; 183 virtual void* Start() = 0;
156 184
157 virtual void Finish(void* pContext) = 0; 185 virtual void Finish(void* pContext) = 0;
158 186
159 virtual void Input(void* pContext, 187 virtual void Input(void* pContext,
160 const uint8_t* src_buf, 188 const uint8_t* src_buf,
161 FX_DWORD src_size) = 0; 189 FX_DWORD src_size) = 0;
162 190
163 virtual int ReadHeader(void* pContext, 191 virtual int ReadHeader(void* pContext,
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 CPDF_StreamAcc* src_stream, 235 CPDF_StreamAcc* src_stream,
208 CPDF_StreamAcc* global_stream, 236 CPDF_StreamAcc* global_stream,
209 uint8_t* dest_buf, 237 uint8_t* dest_buf,
210 FX_DWORD dest_pitch, 238 FX_DWORD dest_pitch,
211 IFX_Pause* pPause) = 0; 239 IFX_Pause* pPause) = 0;
212 240
213 virtual FXCODEC_STATUS ContinueDecode(void* pJbig2Content, 241 virtual FXCODEC_STATUS ContinueDecode(void* pJbig2Content,
214 IFX_Pause* pPause) = 0; 242 IFX_Pause* pPause) = 0;
215 virtual void DestroyJbig2Context(void* pJbig2Content) = 0; 243 virtual void DestroyJbig2Context(void* pJbig2Content) = 0;
216 }; 244 };
217 245 class ICodec_Jbig2Encoder {
246 public:
247 virtual ~ICodec_Jbig2Encoder() {}
248 };
218 class ICodec_IccModule { 249 class ICodec_IccModule {
219 public: 250 public:
220 typedef enum { 251 typedef enum {
221 IccCS_Unknown = 0, 252 IccCS_Unknown = 0,
222 IccCS_XYZ, 253 IccCS_XYZ,
223 IccCS_Lab, 254 IccCS_Lab,
224 IccCS_Luv, 255 IccCS_Luv,
225 IccCS_YCbCr, 256 IccCS_YCbCr,
226 IccCS_Yxy, 257 IccCS_Yxy,
227 IccCS_Hsv, 258 IccCS_Hsv,
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 FX_BOOL MD5ComputeID(const void* buf, FX_DWORD dwSize, uint8_t ID[16]); 335 FX_BOOL MD5ComputeID(const void* buf, FX_DWORD dwSize, uint8_t ID[16]);
305 void FaxG4Decode(const uint8_t* src_buf, 336 void FaxG4Decode(const uint8_t* src_buf,
306 FX_DWORD src_size, 337 FX_DWORD src_size,
307 int* pbitpos, 338 int* pbitpos,
308 uint8_t* dest_buf, 339 uint8_t* dest_buf,
309 int width, 340 int width,
310 int height, 341 int height,
311 int pitch); 342 int pitch);
312 343
313 #endif // CORE_INCLUDE_FXCODEC_FX_CODEC_H_ 344 #endif // CORE_INCLUDE_FXCODEC_FX_CODEC_H_
OLDNEW
« no previous file with comments | « core/include/fpdfapi/fpdf_parser.h ('k') | core/include/fxge/fx_ge.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698