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

Unified Diff: core/src/fxcodec/jbig2/JBig2_ArithDecoder.h

Issue 1359233002: Split up JBig2_GeneralDecoder.cpp. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 5 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: core/src/fxcodec/jbig2/JBig2_ArithDecoder.h
diff --git a/core/src/fxcodec/jbig2/JBig2_ArithDecoder.h b/core/src/fxcodec/jbig2/JBig2_ArithDecoder.h
index 7acfe9cd3681af3824fc7112b6058d03c5325b62..02c81b34c0eb82344741275271af00e28ef12244 100644
--- a/core/src/fxcodec/jbig2/JBig2_ArithDecoder.h
+++ b/core/src/fxcodec/jbig2/JBig2_ArithDecoder.h
@@ -4,11 +4,10 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef _JBIG2_ARITHMETIC_DECODER_H_
-#define _JBIG2_ARITHMETIC_DECODER_H_
-#include "JBig2_Define.h"
-#include "JBig2_BitStream.h"
-#include "JBig2_ArithQe.h"
+#ifndef CORE_SRC_FXCODEC_JBIG2_JBIG2_ARITHDECODER_H_
+#define CORE_SRC_FXCODEC_JBIG2_JBIG2_ARITHDECODER_H_
+
+class CJBig2_BitStream;
struct JBig2ArithCtx {
unsigned int MPS;
@@ -34,93 +33,4 @@ class CJBig2_ArithDecoder {
CJBig2_BitStream* m_pStream;
};
-inline CJBig2_ArithDecoder::CJBig2_ArithDecoder(CJBig2_BitStream* pStream) {
Lei Zhang 2015/09/23 01:23:28 This went into JBig2_ArithDecoder.cpp.
Tom Sepez 2015/09/23 23:03:34 But performance will plummet !!! (not).
- m_pStream = pStream;
- INITDEC();
-}
-inline CJBig2_ArithDecoder::~CJBig2_ArithDecoder() {}
-inline void CJBig2_ArithDecoder::INITDEC() {
- B = m_pStream->getCurByte_arith();
- C = (B ^ 0xff) << 16;
- ;
- BYTEIN();
- C = C << 7;
- CT = CT - 7;
- A = 0x8000;
-}
-inline void CJBig2_ArithDecoder::BYTEIN() {
- unsigned char B1;
- if (B == 0xff) {
- B1 = m_pStream->getNextByte_arith();
- if (B1 > 0x8f) {
- CT = 8;
- } else {
- m_pStream->incByteIdx();
- B = B1;
- C = C + 0xfe00 - (B << 9);
- CT = 7;
- }
- } else {
- m_pStream->incByteIdx();
- B = m_pStream->getCurByte_arith();
- C = C + 0xff00 - (B << 8);
- CT = 8;
- }
-}
-inline int CJBig2_ArithDecoder::DECODE(JBig2ArithCtx* pCX) {
- if (!pCX || pCX->I >= JBIG2_QE_NUM) {
- return 0;
- }
-
- int D;
- const JBig2ArithQe* qe = &QeTable[pCX->I];
- A = A - qe->Qe;
- if ((C >> 16) < A) {
- if (A & 0x8000) {
- D = pCX->MPS;
- } else {
- if (A < qe->Qe) {
- D = 1 - pCX->MPS;
- if (qe->nSwitch == 1) {
- pCX->MPS = 1 - pCX->MPS;
- }
- pCX->I = qe->NLPS;
- } else {
- D = pCX->MPS;
- pCX->I = qe->NMPS;
- }
- do {
- if (CT == 0) {
- BYTEIN();
- }
- A <<= 1;
- C <<= 1;
- CT--;
- } while ((A & 0x8000) == 0);
- }
- } else {
- C -= A << 16;
- if (A < qe->Qe) {
- A = qe->Qe;
- D = pCX->MPS;
- pCX->I = qe->NMPS;
- } else {
- A = qe->Qe;
- D = 1 - pCX->MPS;
- if (qe->nSwitch == 1) {
- pCX->MPS = 1 - pCX->MPS;
- }
- pCX->I = qe->NLPS;
- }
- do {
- if (CT == 0) {
- BYTEIN();
- }
- A <<= 1;
- C <<= 1;
- CT--;
- } while ((A & 0x8000) == 0);
- }
- return D;
-}
-#endif
+#endif // CORE_SRC_FXCODEC_JBIG2_JBIG2_ARITHDECODER_H_

Powered by Google App Engine
This is Rietveld 408576698