| 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 |