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_ | 7 #ifndef CORE_SRC_FXCODEC_CODEC_CODEC_INT_H_ |
8 #define CORE_SRC_FXCODEC_CODEC_CODEC_INT_H_ | 8 #define CORE_SRC_FXCODEC_CODEC_CODEC_INT_H_ |
9 | 9 |
10 #include <limits.h> | 10 #include <limits.h> |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 void DestroyDecoder(CJPX_Decoder* pDecoder) override; | 267 void DestroyDecoder(CJPX_Decoder* pDecoder) override; |
268 }; | 268 }; |
269 | 269 |
270 class CCodec_Jbig2Context { | 270 class CCodec_Jbig2Context { |
271 public: | 271 public: |
272 CCodec_Jbig2Context(); | 272 CCodec_Jbig2Context(); |
273 ~CCodec_Jbig2Context() {} | 273 ~CCodec_Jbig2Context() {} |
274 | 274 |
275 FX_DWORD m_width; | 275 FX_DWORD m_width; |
276 FX_DWORD m_height; | 276 FX_DWORD m_height; |
277 uint8_t* m_src_buf; | 277 CPDF_StreamAcc* m_pGlobalStream; |
278 FX_DWORD m_src_size; | 278 CPDF_StreamAcc* m_pSrcStream; |
279 const uint8_t* m_global_data; | |
280 FX_DWORD m_global_size; | |
281 uint8_t* m_dest_buf; | 279 uint8_t* m_dest_buf; |
282 FX_DWORD m_dest_pitch; | 280 FX_DWORD m_dest_pitch; |
283 IFX_Pause* m_pPause; | 281 IFX_Pause* m_pPause; |
284 CJBig2_Context* m_pContext; | 282 CJBig2_Context* m_pContext; |
285 CJBig2_Image* m_dest_image; | 283 CJBig2_Image* m_dest_image; |
286 }; | 284 }; |
287 class CCodec_Jbig2Module : public ICodec_Jbig2Module { | 285 class CCodec_Jbig2Module : public ICodec_Jbig2Module { |
288 public: | 286 public: |
289 CCodec_Jbig2Module() {} | 287 CCodec_Jbig2Module() {} |
290 ~CCodec_Jbig2Module() override; | 288 ~CCodec_Jbig2Module() override; |
291 | 289 |
292 // ICodec_Jbig2Module | 290 // ICodec_Jbig2Module |
293 void* CreateJbig2Context() override; | 291 void* CreateJbig2Context() override; |
294 FXCODEC_STATUS StartDecode(void* pJbig2Context, | 292 FXCODEC_STATUS StartDecode(void* pJbig2Context, |
| 293 CFX_PrivateData* pPrivateData, |
295 FX_DWORD width, | 294 FX_DWORD width, |
296 FX_DWORD height, | 295 FX_DWORD height, |
297 const uint8_t* src_buf, | 296 CPDF_StreamAcc* src_stream, |
298 FX_DWORD src_size, | 297 CPDF_StreamAcc* global_stream, |
299 const uint8_t* global_data, | |
300 FX_DWORD global_size, | |
301 uint8_t* dest_buf, | 298 uint8_t* dest_buf, |
302 FX_DWORD dest_pitch, | 299 FX_DWORD dest_pitch, |
303 IFX_Pause* pPause) override; | 300 IFX_Pause* pPause) override; |
304 FXCODEC_STATUS ContinueDecode(void* pJbig2Context, | 301 FXCODEC_STATUS ContinueDecode(void* pJbig2Context, |
305 IFX_Pause* pPause) override; | 302 IFX_Pause* pPause) override; |
306 void DestroyJbig2Context(void* pJbig2Context) override; | 303 void DestroyJbig2Context(void* pJbig2Context) override; |
307 | |
308 private: | |
309 std::list<CJBig2_CachePair> m_SymbolDictCache; | |
310 }; | 304 }; |
311 | 305 |
312 struct DecodeData { | 306 struct DecodeData { |
313 public: | 307 public: |
314 DecodeData(unsigned char* src_data, OPJ_SIZE_T src_size) | 308 DecodeData(unsigned char* src_data, OPJ_SIZE_T src_size) |
315 : src_data(src_data), src_size(src_size), offset(0) {} | 309 : src_data(src_data), src_size(src_size), offset(0) {} |
316 unsigned char* src_data; | 310 unsigned char* src_data; |
317 OPJ_SIZE_T src_size; | 311 OPJ_SIZE_T src_size; |
318 OPJ_SIZE_T offset; | 312 OPJ_SIZE_T offset; |
319 }; | 313 }; |
320 | 314 |
321 /* Wrappers for C-style callbacks. */ | 315 /* Wrappers for C-style callbacks. */ |
322 OPJ_SIZE_T opj_read_from_memory(void* p_buffer, | 316 OPJ_SIZE_T opj_read_from_memory(void* p_buffer, |
323 OPJ_SIZE_T nb_bytes, | 317 OPJ_SIZE_T nb_bytes, |
324 void* p_user_data); | 318 void* p_user_data); |
325 OPJ_SIZE_T opj_write_from_memory(void* p_buffer, | 319 OPJ_SIZE_T opj_write_from_memory(void* p_buffer, |
326 OPJ_SIZE_T nb_bytes, | 320 OPJ_SIZE_T nb_bytes, |
327 void* p_user_data); | 321 void* p_user_data); |
328 OPJ_OFF_T opj_skip_from_memory(OPJ_OFF_T nb_bytes, void* p_user_data); | 322 OPJ_OFF_T opj_skip_from_memory(OPJ_OFF_T nb_bytes, void* p_user_data); |
329 OPJ_BOOL opj_seek_from_memory(OPJ_OFF_T nb_bytes, void* p_user_data); | 323 OPJ_BOOL opj_seek_from_memory(OPJ_OFF_T nb_bytes, void* p_user_data); |
330 | 324 |
331 #endif // CORE_SRC_FXCODEC_CODEC_CODEC_INT_H_ | 325 #endif // CORE_SRC_FXCODEC_CODEC_CODEC_INT_H_ |
OLD | NEW |