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 #include <list> | 7 #include <list> |
8 | 8 |
9 #include "core/fxcodec/codec/codec_int.h" | 9 #include "core/fxcodec/codec/codec_int.h" |
10 #include "core/fxcodec/include/fx_codec.h" | 10 #include "core/fxcodec/include/fx_codec.h" |
11 | 11 |
| 12 namespace { |
| 13 |
| 14 class CCodec_Jbig2Context { |
| 15 public: |
| 16 CCodec_Jbig2Context(); |
| 17 ~CCodec_Jbig2Context() {} |
| 18 |
| 19 uint32_t m_width; |
| 20 uint32_t m_height; |
| 21 CPDF_StreamAcc* m_pGlobalStream; |
| 22 CPDF_StreamAcc* m_pSrcStream; |
| 23 uint8_t* m_dest_buf; |
| 24 uint32_t m_dest_pitch; |
| 25 IFX_Pause* m_pPause; |
| 26 CJBig2_Context* m_pContext; |
| 27 CJBig2_Image* m_dest_image; |
| 28 }; |
| 29 |
| 30 } // namespace |
| 31 |
12 // Holds per-document JBig2 related data. | 32 // Holds per-document JBig2 related data. |
13 class JBig2DocumentContext : public CFX_DestructObject { | 33 class JBig2DocumentContext : public CFX_DestructObject { |
14 public: | 34 public: |
15 std::list<CJBig2_CachePair>* GetSymbolDictCache() { | 35 std::list<CJBig2_CachePair>* GetSymbolDictCache() { |
16 return &m_SymbolDictCache; | 36 return &m_SymbolDictCache; |
17 } | 37 } |
18 | 38 |
19 ~JBig2DocumentContext() override { | 39 ~JBig2DocumentContext() override { |
20 for (auto it : m_SymbolDictCache) { | 40 for (auto it : m_SymbolDictCache) { |
21 delete it.second; | 41 delete it.second; |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 return FXCODEC_STATUS_ERROR; | 137 return FXCODEC_STATUS_ERROR; |
118 } | 138 } |
119 int dword_size = | 139 int dword_size = |
120 m_pJbig2Context->m_height * m_pJbig2Context->m_dest_pitch / 4; | 140 m_pJbig2Context->m_height * m_pJbig2Context->m_dest_pitch / 4; |
121 uint32_t* dword_buf = (uint32_t*)m_pJbig2Context->m_dest_buf; | 141 uint32_t* dword_buf = (uint32_t*)m_pJbig2Context->m_dest_buf; |
122 for (int i = 0; i < dword_size; i++) { | 142 for (int i = 0; i < dword_size; i++) { |
123 dword_buf[i] = ~dword_buf[i]; | 143 dword_buf[i] = ~dword_buf[i]; |
124 } | 144 } |
125 return FXCODEC_STATUS_DECODE_FINISH; | 145 return FXCODEC_STATUS_DECODE_FINISH; |
126 } | 146 } |
OLD | NEW |