OLD | NEW |
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_SRC_FXCODEC_CODEC_CODEC_INT_H_ |
| 8 #define CORE_SRC_FXCODEC_CODEC_CODEC_INT_H_ |
| 9 |
7 #include <limits.h> | 10 #include <limits.h> |
8 #include <list> | 11 #include <list> |
| 12 |
| 13 #include "../../../include/fxcodec/fx_codec.h" |
9 #include "../jbig2/JBig2_Context.h" | 14 #include "../jbig2/JBig2_Context.h" |
| 15 #include "../fx_libopenjpeg/libopenjpeg20/openjpeg.h" // For OPJ_SIZE_T. |
| 16 |
10 class CCodec_BasicModule : public ICodec_BasicModule | 17 class CCodec_BasicModule : public ICodec_BasicModule |
11 { | 18 { |
12 public: | 19 public: |
13 virtual FX_BOOL RunLengthEncode(const FX_BYTE* src_buf, FX_DWORD src_siz
e, FX_LPBYTE& dest_buf, | 20 virtual FX_BOOL RunLengthEncode(const FX_BYTE* src_buf, FX_DWORD src_siz
e, FX_LPBYTE& dest_buf, |
14 FX_DWORD& dest_size); | 21 FX_DWORD& dest_size); |
15 virtual FX_BOOL A85Encode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_
LPBYTE& dest_buf, | 22 virtual FX_BOOL A85Encode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_
LPBYTE& dest_buf, |
16 FX_DWORD& dest_size); | 23 FX_DWORD& dest_size); |
17 virtual ICodec_ScanlineDecoder* CreateRunLengthDecoder(FX_LPCBYTE src_bu
f, FX_DWORD src_size, int width, int height, | 24 virtual ICodec_ScanlineDecoder* CreateRunLengthDecoder(FX_LPCBYTE src_bu
f, FX_DWORD src_size, int width, int height, |
18 int nComps, int bpc); | 25 int nComps, int bpc); |
19 }; | 26 }; |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 FX_LPCBYTE global_data, FX_DWORD global_size
, FX_LPBYTE dest_buf, FX_DWORD dest_pitch, IFX_Pause* pPause); | 272 FX_LPCBYTE global_data, FX_DWORD global_size
, FX_LPBYTE dest_buf, FX_DWORD dest_pitch, IFX_Pause* pPause); |
266 | 273 |
267 FXCODEC_STATUS StartDecode(void* pJbig2Context, IFX_FileRead* f
ile_ptr, | 274 FXCODEC_STATUS StartDecode(void* pJbig2Context, IFX_FileRead* f
ile_ptr, |
268 FX_DWORD& width, FX_DWORD& height, FX_DWORD&
pitch, FX_LPBYTE& dest_buf, IFX_Pause* pPause); | 275 FX_DWORD& width, FX_DWORD& height, FX_DWORD&
pitch, FX_LPBYTE& dest_buf, IFX_Pause* pPause); |
269 FXCODEC_STATUS ContinueDecode(void* pJbig2Context, IFX_Pause* p
Pause); | 276 FXCODEC_STATUS ContinueDecode(void* pJbig2Context, IFX_Pause* p
Pause); |
270 void DestroyJbig2Context(void* pJbig2Context)
; | 277 void DestroyJbig2Context(void* pJbig2Context)
; |
271 CPDF_Jbig2Interface m_Module; | 278 CPDF_Jbig2Interface m_Module; |
272 std::list<CJBig2_CachePair> m_SymbolDictCache; | 279 std::list<CJBig2_CachePair> m_SymbolDictCache; |
273 private: | 280 private: |
274 }; | 281 }; |
| 282 |
| 283 struct DecodeData { |
| 284 public: |
| 285 DecodeData(unsigned char* src_data, OPJ_SIZE_T src_size) : |
| 286 src_data(src_data), src_size(src_size), offset(0) { |
| 287 } |
| 288 unsigned char* src_data; |
| 289 OPJ_SIZE_T src_size; |
| 290 OPJ_SIZE_T offset; |
| 291 }; |
| 292 |
| 293 /* Wrappers for C-style callbacks. */ |
| 294 OPJ_SIZE_T opj_read_from_memory (void* p_buffer, OPJ_SIZE_T nb_bytes, void* p_u
ser_data); |
| 295 OPJ_SIZE_T opj_write_from_memory (void* p_buffer, OPJ_SIZE_T nb_bytes, void* p_u
ser_data); |
| 296 OPJ_OFF_T opj_skip_from_memory (OPJ_OFF_T nb_bytes, void* p_user_data); |
| 297 OPJ_BOOL opj_seek_from_memory (OPJ_OFF_T nb_bytes, void* p_user_data); |
| 298 |
| 299 #endif // CORE_SRC_FXCODEC_CODEC_CODEC_INT_H_ |
OLD | NEW |