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 "core/fxcodec/jbig2/JBig2_ArithIntDecoder.h" | 7 #include "core/fxcodec/jbig2/JBig2_ArithIntDecoder.h" |
8 | 8 |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 nValue += nTemp; | 68 nValue += nTemp; |
69 if (S == 1 && nValue > 0) | 69 if (S == 1 && nValue > 0) |
70 nValue = -nValue; | 70 nValue = -nValue; |
71 | 71 |
72 *nResult = nValue; | 72 *nResult = nValue; |
73 return S != 1 || nValue != 0; | 73 return S != 1 || nValue != 0; |
74 } | 74 } |
75 | 75 |
76 CJBig2_ArithIaidDecoder::CJBig2_ArithIaidDecoder(unsigned char SBSYMCODELENA) | 76 CJBig2_ArithIaidDecoder::CJBig2_ArithIaidDecoder(unsigned char SBSYMCODELENA) |
77 : SBSYMCODELEN(SBSYMCODELENA) { | 77 : SBSYMCODELEN(SBSYMCODELENA) { |
78 m_IAID.resize(1 << SBSYMCODELEN); | 78 m_IAID.resize(static_cast<size_t>(1) << SBSYMCODELEN); |
79 } | 79 } |
80 | 80 |
81 CJBig2_ArithIaidDecoder::~CJBig2_ArithIaidDecoder() {} | 81 CJBig2_ArithIaidDecoder::~CJBig2_ArithIaidDecoder() {} |
82 | 82 |
83 void CJBig2_ArithIaidDecoder::decode(CJBig2_ArithDecoder* pArithDecoder, | 83 void CJBig2_ArithIaidDecoder::decode(CJBig2_ArithDecoder* pArithDecoder, |
84 uint32_t* nResult) { | 84 uint32_t* nResult) { |
85 int PREV = 1; | 85 int PREV = 1; |
86 for (unsigned char i = 0; i < SBSYMCODELEN; ++i) { | 86 for (unsigned char i = 0; i < SBSYMCODELEN; ++i) { |
87 JBig2ArithCtx* pCX = &m_IAID[PREV]; | 87 JBig2ArithCtx* pCX = &m_IAID[PREV]; |
88 int D = pArithDecoder->DECODE(pCX); | 88 int D = pArithDecoder->DECODE(pCX); |
89 PREV = ShiftOr(PREV, D); | 89 PREV = ShiftOr(PREV, D); |
90 } | 90 } |
91 *nResult = PREV - (1 << SBSYMCODELEN); | 91 *nResult = PREV - (1 << SBSYMCODELEN); |
92 } | 92 } |
OLD | NEW |