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

Side by Side Diff: core/src/fxcodec/codec/codec_int.h

Issue 1380243004: Various changes to JBig2 cache: (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Addressed comment Created 5 years, 2 months 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
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_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
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_
OLDNEW
« no previous file with comments | « core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp ('k') | core/src/fxcodec/codec/fx_codec_jbig.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698