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

Side by Side Diff: core/src/fxcodec/jbig2/JBig2_GeneralDecoder.cpp

Issue 1172793002: Merge to XFA: Use stdint.h types throughout PDFium. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 years, 6 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
« no previous file with comments | « core/src/fxcodec/jbig2/JBig2_GeneralDecoder.h ('k') | core/src/fxcodec/jbig2/JBig2_Image.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "JBig2_GeneralDecoder.h" 7 #include "JBig2_GeneralDecoder.h"
8 #include "JBig2_ArithDecoder.h" 8 #include "JBig2_ArithDecoder.h"
9 #include "JBig2_ArithIntDecoder.h" 9 #include "JBig2_ArithIntDecoder.h"
10 #include "JBig2_HuffmanDecoder.h" 10 #include "JBig2_HuffmanDecoder.h"
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 } 143 }
144 } 144 }
145 return GBREG; 145 return GBREG;
146 } 146 }
147 CJBig2_Image *CJBig2_GRDProc::decode_Arith_Template0_opt2(CJBig2_ArithDecoder *p ArithDecoder, JBig2ArithCtx *gbContext) 147 CJBig2_Image *CJBig2_GRDProc::decode_Arith_Template0_opt2(CJBig2_ArithDecoder *p ArithDecoder, JBig2ArithCtx *gbContext)
148 { 148 {
149 FX_BOOL LTP, SLTP, bVal; 149 FX_BOOL LTP, SLTP, bVal;
150 FX_DWORD CONTEXT; 150 FX_DWORD CONTEXT;
151 CJBig2_Image *GBREG; 151 CJBig2_Image *GBREG;
152 FX_DWORD line1, line2; 152 FX_DWORD line1, line2;
153 FX_BYTE *pLine, cVal; 153 uint8_t *pLine, cVal;
154 FX_INTPTR nStride, nStride2; 154 intptr_t nStride, nStride2;
155 FX_INT32 nBits, k; 155 int32_t nBits, k;
156 LTP = 0; 156 LTP = 0;
157 JBIG2_ALLOC(GBREG, CJBig2_Image(GBW, GBH)); 157 JBIG2_ALLOC(GBREG, CJBig2_Image(GBW, GBH));
158 if (GBREG->m_pData == NULL) { 158 if (GBREG->m_pData == NULL) {
159 delete GBREG; 159 delete GBREG;
160 m_pModule->JBig2_Error("Generic region decoding procedure: Create Image Failed with width = %d, height = %d\n", GBW, GBH); 160 m_pModule->JBig2_Error("Generic region decoding procedure: Create Image Failed with width = %d, height = %d\n", GBW, GBH);
161 return NULL; 161 return NULL;
162 } 162 }
163 pLine = GBREG->m_pData; 163 pLine = GBREG->m_pData;
164 nStride = GBREG->m_nStride; 164 nStride = GBREG->m_nStride;
165 nStride2 = nStride << 1; 165 nStride2 = nStride << 1;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 pLine += nStride; 210 pLine += nStride;
211 } 211 }
212 return GBREG; 212 return GBREG;
213 } 213 }
214 CJBig2_Image *CJBig2_GRDProc::decode_Arith_Template0_opt3(CJBig2_ArithDecoder *p ArithDecoder, JBig2ArithCtx *gbContext) 214 CJBig2_Image *CJBig2_GRDProc::decode_Arith_Template0_opt3(CJBig2_ArithDecoder *p ArithDecoder, JBig2ArithCtx *gbContext)
215 { 215 {
216 FX_BOOL LTP, SLTP, bVal; 216 FX_BOOL LTP, SLTP, bVal;
217 FX_DWORD CONTEXT; 217 FX_DWORD CONTEXT;
218 CJBig2_Image *GBREG; 218 CJBig2_Image *GBREG;
219 FX_DWORD line1, line2; 219 FX_DWORD line1, line2;
220 FX_BYTE *pLine, *pLine1, *pLine2, cVal; 220 uint8_t *pLine, *pLine1, *pLine2, cVal;
221 FX_INT32 nStride, nStride2, k; 221 int32_t nStride, nStride2, k;
222 FX_INT32 nLineBytes, nBitsLeft, cc; 222 int32_t nLineBytes, nBitsLeft, cc;
223 LTP = 0; 223 LTP = 0;
224 JBIG2_ALLOC(GBREG, CJBig2_Image(GBW, GBH)); 224 JBIG2_ALLOC(GBREG, CJBig2_Image(GBW, GBH));
225 if (GBREG->m_pData == NULL) { 225 if (GBREG->m_pData == NULL) {
226 delete GBREG; 226 delete GBREG;
227 m_pModule->JBig2_Error("Generic region decoding procedure: Create Image Failed with width = %d, height = %d\n", GBW, GBH); 227 m_pModule->JBig2_Error("Generic region decoding procedure: Create Image Failed with width = %d, height = %d\n", GBW, GBH);
228 return NULL; 228 return NULL;
229 } 229 }
230 pLine = GBREG->m_pData; 230 pLine = GBREG->m_pData;
231 nStride = GBREG->m_nStride; 231 nStride = GBREG->m_nStride;
232 nStride2 = nStride << 1; 232 nStride2 = nStride << 1;
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 } 394 }
395 } 395 }
396 return GBREG; 396 return GBREG;
397 } 397 }
398 CJBig2_Image *CJBig2_GRDProc::decode_Arith_Template1_opt2(CJBig2_ArithDecoder *p ArithDecoder, JBig2ArithCtx *gbContext) 398 CJBig2_Image *CJBig2_GRDProc::decode_Arith_Template1_opt2(CJBig2_ArithDecoder *p ArithDecoder, JBig2ArithCtx *gbContext)
399 { 399 {
400 FX_BOOL LTP, SLTP, bVal; 400 FX_BOOL LTP, SLTP, bVal;
401 FX_DWORD CONTEXT; 401 FX_DWORD CONTEXT;
402 CJBig2_Image *GBREG; 402 CJBig2_Image *GBREG;
403 FX_DWORD line1, line2; 403 FX_DWORD line1, line2;
404 FX_BYTE *pLine, cVal; 404 uint8_t *pLine, cVal;
405 FX_INTPTR nStride, nStride2; 405 intptr_t nStride, nStride2;
406 FX_INT32 nBits, k; 406 int32_t nBits, k;
407 LTP = 0; 407 LTP = 0;
408 JBIG2_ALLOC(GBREG, CJBig2_Image(GBW, GBH)); 408 JBIG2_ALLOC(GBREG, CJBig2_Image(GBW, GBH));
409 if (GBREG->m_pData == NULL) { 409 if (GBREG->m_pData == NULL) {
410 delete GBREG; 410 delete GBREG;
411 m_pModule->JBig2_Error("Generic region decoding procedure: Create Image Failed with width = %d, height = %d\n", GBW, GBH); 411 m_pModule->JBig2_Error("Generic region decoding procedure: Create Image Failed with width = %d, height = %d\n", GBW, GBH);
412 return NULL; 412 return NULL;
413 } 413 }
414 pLine = GBREG->m_pData; 414 pLine = GBREG->m_pData;
415 nStride = GBREG->m_nStride; 415 nStride = GBREG->m_nStride;
416 nStride2 = nStride << 1; 416 nStride2 = nStride << 1;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 pLine += nStride; 461 pLine += nStride;
462 } 462 }
463 return GBREG; 463 return GBREG;
464 } 464 }
465 CJBig2_Image *CJBig2_GRDProc::decode_Arith_Template1_opt3(CJBig2_ArithDecoder *p ArithDecoder, JBig2ArithCtx *gbContext) 465 CJBig2_Image *CJBig2_GRDProc::decode_Arith_Template1_opt3(CJBig2_ArithDecoder *p ArithDecoder, JBig2ArithCtx *gbContext)
466 { 466 {
467 FX_BOOL LTP, SLTP, bVal; 467 FX_BOOL LTP, SLTP, bVal;
468 FX_DWORD CONTEXT; 468 FX_DWORD CONTEXT;
469 CJBig2_Image *GBREG; 469 CJBig2_Image *GBREG;
470 FX_DWORD line1, line2; 470 FX_DWORD line1, line2;
471 FX_BYTE *pLine, *pLine1, *pLine2, cVal; 471 uint8_t *pLine, *pLine1, *pLine2, cVal;
472 FX_INT32 nStride, nStride2, k; 472 int32_t nStride, nStride2, k;
473 FX_INT32 nLineBytes, nBitsLeft, cc; 473 int32_t nLineBytes, nBitsLeft, cc;
474 LTP = 0; 474 LTP = 0;
475 JBIG2_ALLOC(GBREG, CJBig2_Image(GBW, GBH)); 475 JBIG2_ALLOC(GBREG, CJBig2_Image(GBW, GBH));
476 if (GBREG->m_pData == NULL) { 476 if (GBREG->m_pData == NULL) {
477 delete GBREG; 477 delete GBREG;
478 m_pModule->JBig2_Error("Generic region decoding procedure: Create Image Failed with width = %d, height = %d\n", GBW, GBH); 478 m_pModule->JBig2_Error("Generic region decoding procedure: Create Image Failed with width = %d, height = %d\n", GBW, GBH);
479 return NULL; 479 return NULL;
480 } 480 }
481 pLine = GBREG->m_pData; 481 pLine = GBREG->m_pData;
482 nStride = GBREG->m_nStride; 482 nStride = GBREG->m_nStride;
483 nStride2 = nStride << 1; 483 nStride2 = nStride << 1;
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
640 } 640 }
641 } 641 }
642 return GBREG; 642 return GBREG;
643 } 643 }
644 CJBig2_Image *CJBig2_GRDProc::decode_Arith_Template2_opt2(CJBig2_ArithDecoder *p ArithDecoder, JBig2ArithCtx *gbContext) 644 CJBig2_Image *CJBig2_GRDProc::decode_Arith_Template2_opt2(CJBig2_ArithDecoder *p ArithDecoder, JBig2ArithCtx *gbContext)
645 { 645 {
646 FX_BOOL LTP, SLTP, bVal; 646 FX_BOOL LTP, SLTP, bVal;
647 FX_DWORD CONTEXT; 647 FX_DWORD CONTEXT;
648 CJBig2_Image *GBREG; 648 CJBig2_Image *GBREG;
649 FX_DWORD line1, line2; 649 FX_DWORD line1, line2;
650 FX_BYTE *pLine, cVal; 650 uint8_t *pLine, cVal;
651 FX_INTPTR nStride, nStride2; 651 intptr_t nStride, nStride2;
652 FX_INT32 nBits, k; 652 int32_t nBits, k;
653 LTP = 0; 653 LTP = 0;
654 JBIG2_ALLOC(GBREG, CJBig2_Image(GBW, GBH)); 654 JBIG2_ALLOC(GBREG, CJBig2_Image(GBW, GBH));
655 if (GBREG->m_pData == NULL) { 655 if (GBREG->m_pData == NULL) {
656 delete GBREG; 656 delete GBREG;
657 m_pModule->JBig2_Error("Generic region decoding procedure: Create Image Failed with width = %d, height = %d\n", GBW, GBH); 657 m_pModule->JBig2_Error("Generic region decoding procedure: Create Image Failed with width = %d, height = %d\n", GBW, GBH);
658 return NULL; 658 return NULL;
659 } 659 }
660 pLine = GBREG->m_pData; 660 pLine = GBREG->m_pData;
661 nStride = GBREG->m_nStride; 661 nStride = GBREG->m_nStride;
662 nStride2 = nStride << 1; 662 nStride2 = nStride << 1;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
707 pLine += nStride; 707 pLine += nStride;
708 } 708 }
709 return GBREG; 709 return GBREG;
710 } 710 }
711 CJBig2_Image *CJBig2_GRDProc::decode_Arith_Template2_opt3(CJBig2_ArithDecoder *p ArithDecoder, JBig2ArithCtx *gbContext) 711 CJBig2_Image *CJBig2_GRDProc::decode_Arith_Template2_opt3(CJBig2_ArithDecoder *p ArithDecoder, JBig2ArithCtx *gbContext)
712 { 712 {
713 FX_BOOL LTP, SLTP, bVal; 713 FX_BOOL LTP, SLTP, bVal;
714 FX_DWORD CONTEXT; 714 FX_DWORD CONTEXT;
715 CJBig2_Image *GBREG; 715 CJBig2_Image *GBREG;
716 FX_DWORD line1, line2; 716 FX_DWORD line1, line2;
717 FX_BYTE *pLine, *pLine1, *pLine2, cVal; 717 uint8_t *pLine, *pLine1, *pLine2, cVal;
718 FX_INT32 nStride, nStride2, k; 718 int32_t nStride, nStride2, k;
719 FX_INT32 nLineBytes, nBitsLeft, cc; 719 int32_t nLineBytes, nBitsLeft, cc;
720 LTP = 0; 720 LTP = 0;
721 JBIG2_ALLOC(GBREG, CJBig2_Image(GBW, GBH)); 721 JBIG2_ALLOC(GBREG, CJBig2_Image(GBW, GBH));
722 if (GBREG->m_pData == NULL) { 722 if (GBREG->m_pData == NULL) {
723 delete GBREG; 723 delete GBREG;
724 m_pModule->JBig2_Error("Generic region decoding procedure: Create Image Failed with width = %d, height = %d\n", GBW, GBH); 724 m_pModule->JBig2_Error("Generic region decoding procedure: Create Image Failed with width = %d, height = %d\n", GBW, GBH);
725 return NULL; 725 return NULL;
726 } 726 }
727 pLine = GBREG->m_pData; 727 pLine = GBREG->m_pData;
728 nStride = GBREG->m_nStride; 728 nStride = GBREG->m_nStride;
729 nStride2 = nStride << 1; 729 nStride2 = nStride << 1;
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
880 } 880 }
881 } 881 }
882 return GBREG; 882 return GBREG;
883 } 883 }
884 CJBig2_Image *CJBig2_GRDProc::decode_Arith_Template3_opt2(CJBig2_ArithDecoder *p ArithDecoder, JBig2ArithCtx *gbContext) 884 CJBig2_Image *CJBig2_GRDProc::decode_Arith_Template3_opt2(CJBig2_ArithDecoder *p ArithDecoder, JBig2ArithCtx *gbContext)
885 { 885 {
886 FX_BOOL LTP, SLTP, bVal; 886 FX_BOOL LTP, SLTP, bVal;
887 FX_DWORD CONTEXT; 887 FX_DWORD CONTEXT;
888 CJBig2_Image *GBREG; 888 CJBig2_Image *GBREG;
889 FX_DWORD line1; 889 FX_DWORD line1;
890 FX_BYTE *pLine, cVal; 890 uint8_t *pLine, cVal;
891 FX_INTPTR nStride; 891 intptr_t nStride;
892 FX_INT32 nBits, k; 892 int32_t nBits, k;
893 LTP = 0; 893 LTP = 0;
894 JBIG2_ALLOC(GBREG, CJBig2_Image(GBW, GBH)); 894 JBIG2_ALLOC(GBREG, CJBig2_Image(GBW, GBH));
895 if (GBREG->m_pData == NULL) { 895 if (GBREG->m_pData == NULL) {
896 delete GBREG; 896 delete GBREG;
897 m_pModule->JBig2_Error("Generic region decoding procedure: Create Image Failed with width = %d, height = %d\n", GBW, GBH); 897 m_pModule->JBig2_Error("Generic region decoding procedure: Create Image Failed with width = %d, height = %d\n", GBW, GBH);
898 return NULL; 898 return NULL;
899 } 899 }
900 pLine = GBREG->m_pData; 900 pLine = GBREG->m_pData;
901 nStride = GBREG->m_nStride; 901 nStride = GBREG->m_nStride;
902 for(FX_DWORD h = 0; h < GBH; h++) { 902 for(FX_DWORD h = 0; h < GBH; h++) {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
938 pLine += nStride; 938 pLine += nStride;
939 } 939 }
940 return GBREG; 940 return GBREG;
941 } 941 }
942 CJBig2_Image *CJBig2_GRDProc::decode_Arith_Template3_opt3(CJBig2_ArithDecoder *p ArithDecoder, JBig2ArithCtx *gbContext) 942 CJBig2_Image *CJBig2_GRDProc::decode_Arith_Template3_opt3(CJBig2_ArithDecoder *p ArithDecoder, JBig2ArithCtx *gbContext)
943 { 943 {
944 FX_BOOL LTP, SLTP, bVal; 944 FX_BOOL LTP, SLTP, bVal;
945 FX_DWORD CONTEXT; 945 FX_DWORD CONTEXT;
946 CJBig2_Image *GBREG; 946 CJBig2_Image *GBREG;
947 FX_DWORD line1; 947 FX_DWORD line1;
948 FX_BYTE *pLine, *pLine1, cVal; 948 uint8_t *pLine, *pLine1, cVal;
949 FX_INT32 nStride, k; 949 int32_t nStride, k;
950 FX_INT32 nLineBytes, nBitsLeft, cc; 950 int32_t nLineBytes, nBitsLeft, cc;
951 LTP = 0; 951 LTP = 0;
952 JBIG2_ALLOC(GBREG, CJBig2_Image(GBW, GBH)); 952 JBIG2_ALLOC(GBREG, CJBig2_Image(GBW, GBH));
953 if (GBREG->m_pData == NULL) { 953 if (GBREG->m_pData == NULL) {
954 delete GBREG; 954 delete GBREG;
955 m_pModule->JBig2_Error("Generic region decoding procedure: Create Image Failed with width = %d, height = %d\n", GBW, GBH); 955 m_pModule->JBig2_Error("Generic region decoding procedure: Create Image Failed with width = %d, height = %d\n", GBW, GBH);
956 return NULL; 956 return NULL;
957 } 957 }
958 pLine = GBREG->m_pData; 958 pLine = GBREG->m_pData;
959 nStride = GBREG->m_nStride; 959 nStride = GBREG->m_nStride;
960 nLineBytes = ((GBW + 7) >> 3) - 1; 960 nLineBytes = ((GBW + 7) >> 3) - 1;
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after
1421 } 1421 }
1422 } 1422 }
1423 return GRREG; 1423 return GRREG;
1424 } 1424 }
1425 CJBig2_Image *CJBig2_GRRDProc::decode_Template0_opt(CJBig2_ArithDecoder *pArithD ecoder, JBig2ArithCtx *grContext) 1425 CJBig2_Image *CJBig2_GRRDProc::decode_Template0_opt(CJBig2_ArithDecoder *pArithD ecoder, JBig2ArithCtx *grContext)
1426 { 1426 {
1427 FX_BOOL LTP, SLTP, bVal; 1427 FX_BOOL LTP, SLTP, bVal;
1428 FX_DWORD CONTEXT; 1428 FX_DWORD CONTEXT;
1429 CJBig2_Image *GRREG; 1429 CJBig2_Image *GRREG;
1430 FX_DWORD line1, line1_r, line2_r, line3_r; 1430 FX_DWORD line1, line1_r, line2_r, line3_r;
1431 FX_BYTE *pLine, *pLineR, cVal; 1431 uint8_t *pLine, *pLineR, cVal;
1432 FX_INTPTR nStride, nStrideR, nOffset; 1432 intptr_t nStride, nStrideR, nOffset;
1433 FX_INT32 k, nBits; 1433 int32_t k, nBits;
1434 FX_INT32 GRWR, GRHR; 1434 int32_t GRWR, GRHR;
1435 FX_INT32 GRW, GRH; 1435 int32_t GRW, GRH;
1436 GRW = (FX_INT32)CJBig2_GRRDProc::GRW; 1436 GRW = (int32_t)CJBig2_GRRDProc::GRW;
1437 GRH = (FX_INT32)CJBig2_GRRDProc::GRH; 1437 GRH = (int32_t)CJBig2_GRRDProc::GRH;
1438 LTP = 0; 1438 LTP = 0;
1439 JBIG2_ALLOC(GRREG, CJBig2_Image(GRW, GRH)); 1439 JBIG2_ALLOC(GRREG, CJBig2_Image(GRW, GRH));
1440 if (GRREG->m_pData == NULL) { 1440 if (GRREG->m_pData == NULL) {
1441 delete GRREG; 1441 delete GRREG;
1442 m_pModule->JBig2_Error("Generic refinement region decoding procedure: Cr eate Image Failed with width = %d, height = %d\n", GRW, GRH); 1442 m_pModule->JBig2_Error("Generic refinement region decoding procedure: Cr eate Image Failed with width = %d, height = %d\n", GRW, GRH);
1443 return NULL; 1443 return NULL;
1444 } 1444 }
1445 pLine = GRREG->m_pData; 1445 pLine = GRREG->m_pData;
1446 pLineR = GRREFERENCE->m_pData; 1446 pLineR = GRREFERENCE->m_pData;
1447 nStride = GRREG->m_nStride; 1447 nStride = GRREG->m_nStride;
1448 nStrideR = GRREFERENCE->m_nStride; 1448 nStrideR = GRREFERENCE->m_nStride;
1449 GRWR = (FX_INT32)GRREFERENCE->m_nWidth; 1449 GRWR = (int32_t)GRREFERENCE->m_nWidth;
1450 GRHR = (FX_INT32)GRREFERENCE->m_nHeight; 1450 GRHR = (int32_t)GRREFERENCE->m_nHeight;
1451 if (GRREFERENCEDY < -GRHR + 1 || GRREFERENCEDY > GRHR - 1) { 1451 if (GRREFERENCEDY < -GRHR + 1 || GRREFERENCEDY > GRHR - 1) {
1452 GRREFERENCEDY = 0; 1452 GRREFERENCEDY = 0;
1453 } 1453 }
1454 nOffset = -GRREFERENCEDY * nStrideR; 1454 nOffset = -GRREFERENCEDY * nStrideR;
1455 for (FX_INT32 h = 0; h < GRH; h++) { 1455 for (int32_t h = 0; h < GRH; h++) {
1456 if(TPGRON) { 1456 if(TPGRON) {
1457 SLTP = pArithDecoder->DECODE(&grContext[0x0010]); 1457 SLTP = pArithDecoder->DECODE(&grContext[0x0010]);
1458 LTP = LTP ^ SLTP; 1458 LTP = LTP ^ SLTP;
1459 } 1459 }
1460 line1 = (h > 0) ? pLine[-nStride] << 4 : 0; 1460 line1 = (h > 0) ? pLine[-nStride] << 4 : 0;
1461 FX_INT32 reference_h = h - GRREFERENCEDY; 1461 int32_t reference_h = h - GRREFERENCEDY;
1462 FX_BOOL line1_r_ok = (reference_h > 0 && reference_h < GRHR + 1); 1462 FX_BOOL line1_r_ok = (reference_h > 0 && reference_h < GRHR + 1);
1463 FX_BOOL line2_r_ok = (reference_h > -1 && reference_h < GRHR); 1463 FX_BOOL line2_r_ok = (reference_h > -1 && reference_h < GRHR);
1464 FX_BOOL line3_r_ok = (reference_h > -2 && reference_h < GRHR - 1); 1464 FX_BOOL line3_r_ok = (reference_h > -2 && reference_h < GRHR - 1);
1465 line1_r = line1_r_ok ? pLineR[nOffset - nStrideR] : 0; 1465 line1_r = line1_r_ok ? pLineR[nOffset - nStrideR] : 0;
1466 line2_r = line2_r_ok ? pLineR[nOffset] : 0; 1466 line2_r = line2_r_ok ? pLineR[nOffset] : 0;
1467 line3_r = line3_r_ok ? pLineR[nOffset + nStrideR] : 0; 1467 line3_r = line3_r_ok ? pLineR[nOffset + nStrideR] : 0;
1468 if(LTP == 0) { 1468 if(LTP == 0) {
1469 CONTEXT = (line1 & 0x1c00) | (line1_r & 0x01c0) 1469 CONTEXT = (line1 & 0x1c00) | (line1_r & 0x01c0)
1470 | ((line2_r >> 3) & 0x0038) | ((line3_r >> 6) & 0x0007); 1470 | ((line2_r >> 3) & 0x0038) | ((line3_r >> 6) & 0x0007);
1471 for (FX_INT32 w = 0; w < GRW; w += 8) { 1471 for (int32_t w = 0; w < GRW; w += 8) {
1472 nBits = GRW - w > 8 ? 8 : GRW - w; 1472 nBits = GRW - w > 8 ? 8 : GRW - w;
1473 if (h > 0) 1473 if (h > 0)
1474 line1 = (line1 << 8) | 1474 line1 = (line1 << 8) |
1475 (w + 8 < GRW ? pLine[-nStride + (w >> 3) + 1] << 4 : 0); 1475 (w + 8 < GRW ? pLine[-nStride + (w >> 3) + 1] << 4 : 0);
1476 if (h > GRHR + GRREFERENCEDY + 1) { 1476 if (h > GRHR + GRREFERENCEDY + 1) {
1477 line1_r = 0; 1477 line1_r = 0;
1478 line2_r = 0; 1478 line2_r = 0;
1479 line3_r = 0; 1479 line3_r = 0;
1480 } else { 1480 } else {
1481 if(line1_r_ok) 1481 if(line1_r_ok)
(...skipping 17 matching lines...) Expand all
1499 ((line1 >> (7 - k)) & 0x0400) | 1499 ((line1 >> (7 - k)) & 0x0400) |
1500 ((line1_r >> (7 - k)) & 0x0040) | 1500 ((line1_r >> (7 - k)) & 0x0040) |
1501 ((line2_r >> (10 - k)) & 0x0008) | 1501 ((line2_r >> (10 - k)) & 0x0008) |
1502 ((line3_r >> (13 - k)) & 0x0001); 1502 ((line3_r >> (13 - k)) & 0x0001);
1503 } 1503 }
1504 pLine[w >> 3] = cVal; 1504 pLine[w >> 3] = cVal;
1505 } 1505 }
1506 } else { 1506 } else {
1507 CONTEXT = (line1 & 0x1c00) | (line1_r & 0x01c0) 1507 CONTEXT = (line1 & 0x1c00) | (line1_r & 0x01c0)
1508 | ((line2_r >> 3) & 0x0038) | ((line3_r >> 6) & 0x0007); 1508 | ((line2_r >> 3) & 0x0038) | ((line3_r >> 6) & 0x0007);
1509 for (FX_INT32 w = 0; w < GRW; w += 8) { 1509 for (int32_t w = 0; w < GRW; w += 8) {
1510 nBits = GRW - w > 8 ? 8 : GRW - w; 1510 nBits = GRW - w > 8 ? 8 : GRW - w;
1511 if (h > 0) 1511 if (h > 0)
1512 line1 = (line1 << 8) | 1512 line1 = (line1 << 8) |
1513 (w + 8 < GRW ? pLine[-nStride + (w >> 3) + 1] << 4 : 0); 1513 (w + 8 < GRW ? pLine[-nStride + (w >> 3) + 1] << 4 : 0);
1514 if(line1_r_ok) 1514 if(line1_r_ok)
1515 line1_r = (line1_r << 8) | 1515 line1_r = (line1_r << 8) |
1516 (w + 8 < GRWR ? pLineR[nOffset - nStrideR + (w >> 3) + 1] : 0); 1516 (w + 8 < GRWR ? pLineR[nOffset - nStrideR + (w >> 3) + 1] : 0);
1517 if(line2_r_ok) 1517 if(line2_r_ok)
1518 line2_r = (line2_r << 8) | 1518 line2_r = (line2_r << 8) |
1519 (w + 8 < GRWR ? pLineR[nOffset + (w >> 3) + 1] : 0 ); 1519 (w + 8 < GRWR ? pLineR[nOffset + (w >> 3) + 1] : 0 );
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
1630 } 1630 }
1631 } 1631 }
1632 return GRREG; 1632 return GRREG;
1633 } 1633 }
1634 CJBig2_Image *CJBig2_GRRDProc::decode_Template1_opt(CJBig2_ArithDecoder *pArithD ecoder, JBig2ArithCtx *grContext) 1634 CJBig2_Image *CJBig2_GRRDProc::decode_Template1_opt(CJBig2_ArithDecoder *pArithD ecoder, JBig2ArithCtx *grContext)
1635 { 1635 {
1636 FX_BOOL LTP, SLTP, bVal; 1636 FX_BOOL LTP, SLTP, bVal;
1637 FX_DWORD CONTEXT; 1637 FX_DWORD CONTEXT;
1638 CJBig2_Image *GRREG; 1638 CJBig2_Image *GRREG;
1639 FX_DWORD line1, line1_r, line2_r, line3_r; 1639 FX_DWORD line1, line1_r, line2_r, line3_r;
1640 FX_BYTE *pLine, *pLineR, cVal; 1640 uint8_t *pLine, *pLineR, cVal;
1641 FX_INTPTR nStride, nStrideR, nOffset; 1641 intptr_t nStride, nStrideR, nOffset;
1642 FX_INT32 k, nBits; 1642 int32_t k, nBits;
1643 FX_INT32 GRWR, GRHR; 1643 int32_t GRWR, GRHR;
1644 FX_INT32 GRW, GRH; 1644 int32_t GRW, GRH;
1645 GRW = (FX_INT32)CJBig2_GRRDProc::GRW; 1645 GRW = (int32_t)CJBig2_GRRDProc::GRW;
1646 GRH = (FX_INT32)CJBig2_GRRDProc::GRH; 1646 GRH = (int32_t)CJBig2_GRRDProc::GRH;
1647 LTP = 0; 1647 LTP = 0;
1648 JBIG2_ALLOC(GRREG, CJBig2_Image(GRW, GRH)); 1648 JBIG2_ALLOC(GRREG, CJBig2_Image(GRW, GRH));
1649 if (GRREG->m_pData == NULL) { 1649 if (GRREG->m_pData == NULL) {
1650 delete GRREG; 1650 delete GRREG;
1651 m_pModule->JBig2_Error("Generic refinement region decoding procedure: Cr eate Image Failed with width = %d, height = %d\n", GRW, GRH); 1651 m_pModule->JBig2_Error("Generic refinement region decoding procedure: Cr eate Image Failed with width = %d, height = %d\n", GRW, GRH);
1652 return NULL; 1652 return NULL;
1653 } 1653 }
1654 pLine = GRREG->m_pData; 1654 pLine = GRREG->m_pData;
1655 pLineR = GRREFERENCE->m_pData; 1655 pLineR = GRREFERENCE->m_pData;
1656 nStride = GRREG->m_nStride; 1656 nStride = GRREG->m_nStride;
1657 nStrideR = GRREFERENCE->m_nStride; 1657 nStrideR = GRREFERENCE->m_nStride;
1658 GRWR = (FX_INT32)GRREFERENCE->m_nWidth; 1658 GRWR = (int32_t)GRREFERENCE->m_nWidth;
1659 GRHR = (FX_INT32)GRREFERENCE->m_nHeight; 1659 GRHR = (int32_t)GRREFERENCE->m_nHeight;
1660 if (GRREFERENCEDY < -GRHR + 1 || GRREFERENCEDY > GRHR - 1) { 1660 if (GRREFERENCEDY < -GRHR + 1 || GRREFERENCEDY > GRHR - 1) {
1661 GRREFERENCEDY = 0; 1661 GRREFERENCEDY = 0;
1662 } 1662 }
1663 nOffset = -GRREFERENCEDY * nStrideR; 1663 nOffset = -GRREFERENCEDY * nStrideR;
1664 for (FX_INT32 h = 0; h < GRH; h++) { 1664 for (int32_t h = 0; h < GRH; h++) {
1665 if(TPGRON) { 1665 if(TPGRON) {
1666 SLTP = pArithDecoder->DECODE(&grContext[0x0008]); 1666 SLTP = pArithDecoder->DECODE(&grContext[0x0008]);
1667 LTP = LTP ^ SLTP; 1667 LTP = LTP ^ SLTP;
1668 } 1668 }
1669 line1 = (h > 0) ? pLine[-nStride] << 1 : 0; 1669 line1 = (h > 0) ? pLine[-nStride] << 1 : 0;
1670 FX_INT32 reference_h = h - GRREFERENCEDY; 1670 int32_t reference_h = h - GRREFERENCEDY;
1671 FX_BOOL line1_r_ok = (reference_h > 0 && reference_h < GRHR + 1); 1671 FX_BOOL line1_r_ok = (reference_h > 0 && reference_h < GRHR + 1);
1672 FX_BOOL line2_r_ok = (reference_h > -1 && reference_h < GRHR); 1672 FX_BOOL line2_r_ok = (reference_h > -1 && reference_h < GRHR);
1673 FX_BOOL line3_r_ok = (reference_h > -2 && reference_h < GRHR - 1); 1673 FX_BOOL line3_r_ok = (reference_h > -2 && reference_h < GRHR - 1);
1674 line1_r = line1_r_ok ? pLineR[nOffset - nStrideR] : 0; 1674 line1_r = line1_r_ok ? pLineR[nOffset - nStrideR] : 0;
1675 line2_r = line2_r_ok ? pLineR[nOffset] : 0; 1675 line2_r = line2_r_ok ? pLineR[nOffset] : 0;
1676 line3_r = line3_r_ok ? pLineR[nOffset + nStrideR] : 0; 1676 line3_r = line3_r_ok ? pLineR[nOffset + nStrideR] : 0;
1677 if(LTP == 0) { 1677 if(LTP == 0) {
1678 CONTEXT = (line1 & 0x0380) | ((line1_r >> 2) & 0x0020) 1678 CONTEXT = (line1 & 0x0380) | ((line1_r >> 2) & 0x0020)
1679 | ((line2_r >> 4) & 0x001c) | ((line3_r >> 6) & 0x0003); 1679 | ((line2_r >> 4) & 0x001c) | ((line3_r >> 6) & 0x0003);
1680 for (FX_INT32 w = 0; w < GRW; w += 8) { 1680 for (int32_t w = 0; w < GRW; w += 8) {
1681 nBits = GRW - w > 8 ? 8 : GRW - w; 1681 nBits = GRW - w > 8 ? 8 : GRW - w;
1682 if (h > 0) 1682 if (h > 0)
1683 line1 = (line1 << 8) | 1683 line1 = (line1 << 8) |
1684 (w + 8 < GRW ? pLine[-nStride + (w >> 3) + 1] << 1 : 0); 1684 (w + 8 < GRW ? pLine[-nStride + (w >> 3) + 1] << 1 : 0);
1685 if(line1_r_ok) 1685 if(line1_r_ok)
1686 line1_r = (line1_r << 8) | 1686 line1_r = (line1_r << 8) |
1687 (w + 8 < GRWR ? pLineR[nOffset - nStrideR + (w >> 3) + 1] : 0); 1687 (w + 8 < GRWR ? pLineR[nOffset - nStrideR + (w >> 3) + 1] : 0);
1688 if(line2_r_ok) 1688 if(line2_r_ok)
1689 line2_r = (line2_r << 8) | 1689 line2_r = (line2_r << 8) |
1690 (w + 8 < GRWR ? pLineR[nOffset + (w >> 3) + 1] : 0 ); 1690 (w + 8 < GRWR ? pLineR[nOffset + (w >> 3) + 1] : 0 );
(...skipping 11 matching lines...) Expand all
1702 ((line1 >> (7 - k)) & 0x0080) | 1702 ((line1 >> (7 - k)) & 0x0080) |
1703 ((line1_r >> (9 - k)) & 0x0020) | 1703 ((line1_r >> (9 - k)) & 0x0020) |
1704 ((line2_r >> (11 - k)) & 0x0004) | 1704 ((line2_r >> (11 - k)) & 0x0004) |
1705 ((line3_r >> (13 - k)) & 0x0001); 1705 ((line3_r >> (13 - k)) & 0x0001);
1706 } 1706 }
1707 pLine[w >> 3] = cVal; 1707 pLine[w >> 3] = cVal;
1708 } 1708 }
1709 } else { 1709 } else {
1710 CONTEXT = (line1 & 0x0380) | ((line1_r >> 2) & 0x0020) 1710 CONTEXT = (line1 & 0x0380) | ((line1_r >> 2) & 0x0020)
1711 | ((line2_r >> 4) & 0x001c) | ((line3_r >> 6) & 0x0003); 1711 | ((line2_r >> 4) & 0x001c) | ((line3_r >> 6) & 0x0003);
1712 for (FX_INT32 w = 0; w < GRW; w += 8) { 1712 for (int32_t w = 0; w < GRW; w += 8) {
1713 nBits = GRW - w > 8 ? 8 : GRW - w; 1713 nBits = GRW - w > 8 ? 8 : GRW - w;
1714 if (h > 0) 1714 if (h > 0)
1715 line1 = (line1 << 8) | 1715 line1 = (line1 << 8) |
1716 (w + 8 < GRW ? pLine[-nStride + (w >> 3) + 1] << 1 : 0); 1716 (w + 8 < GRW ? pLine[-nStride + (w >> 3) + 1] << 1 : 0);
1717 if(line1_r_ok) 1717 if(line1_r_ok)
1718 line1_r = (line1_r << 8) | 1718 line1_r = (line1_r << 8) |
1719 (w + 8 < GRWR ? pLineR[nOffset - nStrideR + (w >> 3) + 1] : 0); 1719 (w + 8 < GRWR ? pLineR[nOffset - nStrideR + (w >> 3) + 1] : 0);
1720 if(line2_r_ok) 1720 if(line2_r_ok)
1721 line2_r = (line2_r << 8) | 1721 line2_r = (line2_r << 8) |
1722 (w + 8 < GRWR ? pLineR[nOffset + (w >> 3) + 1] : 0 ); 1722 (w + 8 < GRWR ? pLineR[nOffset + (w >> 3) + 1] : 0 );
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
1865 bVal = pArithDecoder->DECODE(&grContext[CONTEXT]); 1865 bVal = pArithDecoder->DECODE(&grContext[CONTEXT]);
1866 GRREG->setPixel(w, h, bVal); 1866 GRREG->setPixel(w, h, bVal);
1867 } 1867 }
1868 } 1868 }
1869 } 1869 }
1870 } 1870 }
1871 return GRREG; 1871 return GRREG;
1872 } 1872 }
1873 CJBig2_Image *CJBig2_TRDProc::decode_Huffman(CJBig2_BitStream *pStream, JBig2Ari thCtx *grContext) 1873 CJBig2_Image *CJBig2_TRDProc::decode_Huffman(CJBig2_BitStream *pStream, JBig2Ari thCtx *grContext)
1874 { 1874 {
1875 FX_INT32 STRIPT, FIRSTS; 1875 int32_t STRIPT, FIRSTS;
1876 FX_DWORD NINSTANCES; 1876 FX_DWORD NINSTANCES;
1877 FX_INT32 DT, DFS, CURS; 1877 int32_t DT, DFS, CURS;
1878 FX_BYTE CURT; 1878 uint8_t CURT;
1879 FX_INT32 SI, TI; 1879 int32_t SI, TI;
1880 FX_DWORD IDI; 1880 FX_DWORD IDI;
1881 CJBig2_Image *IBI; 1881 CJBig2_Image *IBI;
1882 FX_DWORD WI, HI; 1882 FX_DWORD WI, HI;
1883 FX_INT32 IDS; 1883 int32_t IDS;
1884 FX_BOOL RI; 1884 FX_BOOL RI;
1885 FX_INT32 RDWI, RDHI, RDXI, RDYI; 1885 int32_t RDWI, RDHI, RDXI, RDYI;
1886 CJBig2_Image *IBOI; 1886 CJBig2_Image *IBOI;
1887 FX_DWORD WOI, HOI; 1887 FX_DWORD WOI, HOI;
1888 CJBig2_Image *SBREG; 1888 CJBig2_Image *SBREG;
1889 FX_BOOL bFirst; 1889 FX_BOOL bFirst;
1890 FX_DWORD nTmp; 1890 FX_DWORD nTmp;
1891 FX_INT32 nVal, nBits; 1891 int32_t nVal, nBits;
1892 CJBig2_HuffmanDecoder *pHuffmanDecoder; 1892 CJBig2_HuffmanDecoder *pHuffmanDecoder;
1893 CJBig2_GRRDProc *pGRRD; 1893 CJBig2_GRRDProc *pGRRD;
1894 CJBig2_ArithDecoder *pArithDecoder; 1894 CJBig2_ArithDecoder *pArithDecoder;
1895 JBIG2_ALLOC(pHuffmanDecoder, CJBig2_HuffmanDecoder(pStream)); 1895 JBIG2_ALLOC(pHuffmanDecoder, CJBig2_HuffmanDecoder(pStream));
1896 JBIG2_ALLOC(SBREG, CJBig2_Image(SBW, SBH)); 1896 JBIG2_ALLOC(SBREG, CJBig2_Image(SBW, SBH));
1897 SBREG->fill(SBDEFPIXEL); 1897 SBREG->fill(SBDEFPIXEL);
1898 if(pHuffmanDecoder->decodeAValue(SBHUFFDT, &STRIPT) != 0) { 1898 if(pHuffmanDecoder->decodeAValue(SBHUFFDT, &STRIPT) != 0) {
1899 m_pModule->JBig2_Error("text region decoding procedure (huffman): too sh ort."); 1899 m_pModule->JBig2_Error("text region decoding procedure (huffman): too sh ort.");
1900 goto failed; 1900 goto failed;
1901 } 1901 }
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
2085 delete pHuffmanDecoder; 2085 delete pHuffmanDecoder;
2086 return SBREG; 2086 return SBREG;
2087 failed: 2087 failed:
2088 delete pHuffmanDecoder; 2088 delete pHuffmanDecoder;
2089 delete SBREG; 2089 delete SBREG;
2090 return NULL; 2090 return NULL;
2091 } 2091 }
2092 CJBig2_Image *CJBig2_TRDProc::decode_Arith(CJBig2_ArithDecoder *pArithDecoder, J Big2ArithCtx *grContext, 2092 CJBig2_Image *CJBig2_TRDProc::decode_Arith(CJBig2_ArithDecoder *pArithDecoder, J Big2ArithCtx *grContext,
2093 JBig2IntDecoderState *pIDS) 2093 JBig2IntDecoderState *pIDS)
2094 { 2094 {
2095 FX_INT32 STRIPT, FIRSTS; 2095 int32_t STRIPT, FIRSTS;
2096 FX_DWORD NINSTANCES; 2096 FX_DWORD NINSTANCES;
2097 FX_INT32 DT, DFS, CURS; 2097 int32_t DT, DFS, CURS;
2098 FX_INT32 CURT; 2098 int32_t CURT;
2099 FX_INT32 SI, TI; 2099 int32_t SI, TI;
2100 FX_DWORD IDI; 2100 FX_DWORD IDI;
2101 CJBig2_Image *IBI; 2101 CJBig2_Image *IBI;
2102 FX_DWORD WI, HI; 2102 FX_DWORD WI, HI;
2103 FX_INT32 IDS; 2103 int32_t IDS;
2104 FX_BOOL RI; 2104 FX_BOOL RI;
2105 FX_INT32 RDWI, RDHI, RDXI, RDYI; 2105 int32_t RDWI, RDHI, RDXI, RDYI;
2106 CJBig2_Image *IBOI; 2106 CJBig2_Image *IBOI;
2107 FX_DWORD WOI, HOI; 2107 FX_DWORD WOI, HOI;
2108 CJBig2_Image *SBREG; 2108 CJBig2_Image *SBREG;
2109 FX_BOOL bFirst; 2109 FX_BOOL bFirst;
2110 FX_INT32 nRet, nVal; 2110 int32_t nRet, nVal;
2111 FX_INT32 bRetained; 2111 int32_t bRetained;
2112 CJBig2_ArithIntDecoder *IADT, *IAFS, *IADS, *IAIT, *IARI, *IARDW, *IARDH, *I ARDX, *IARDY; 2112 CJBig2_ArithIntDecoder *IADT, *IAFS, *IADS, *IAIT, *IARI, *IARDW, *IARDH, *I ARDX, *IARDY;
2113 CJBig2_ArithIaidDecoder *IAID; 2113 CJBig2_ArithIaidDecoder *IAID;
2114 CJBig2_GRRDProc *pGRRD; 2114 CJBig2_GRRDProc *pGRRD;
2115 if(pIDS) { 2115 if(pIDS) {
2116 IADT = pIDS->IADT; 2116 IADT = pIDS->IADT;
2117 IAFS = pIDS->IAFS; 2117 IAFS = pIDS->IAFS;
2118 IADS = pIDS->IADS; 2118 IADS = pIDS->IADS;
2119 IAIT = pIDS->IAIT; 2119 IAIT = pIDS->IAIT;
2120 IARI = pIDS->IARI; 2120 IARI = pIDS->IARI;
2121 IARDW = pIDS->IARDW; 2121 IARDW = pIDS->IARDW;
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
2326 delete IAID; 2326 delete IAID;
2327 } 2327 }
2328 delete SBREG; 2328 delete SBREG;
2329 return NULL; 2329 return NULL;
2330 } 2330 }
2331 CJBig2_SymbolDict *CJBig2_SDDProc::decode_Arith(CJBig2_ArithDecoder *pArithDecod er, 2331 CJBig2_SymbolDict *CJBig2_SDDProc::decode_Arith(CJBig2_ArithDecoder *pArithDecod er,
2332 JBig2ArithCtx *gbContext, JBig2ArithCtx *grContext) 2332 JBig2ArithCtx *gbContext, JBig2ArithCtx *grContext)
2333 { 2333 {
2334 CJBig2_Image **SDNEWSYMS; 2334 CJBig2_Image **SDNEWSYMS;
2335 FX_DWORD HCHEIGHT, NSYMSDECODED; 2335 FX_DWORD HCHEIGHT, NSYMSDECODED;
2336 FX_INT32 HCDH; 2336 int32_t HCDH;
2337 FX_DWORD SYMWIDTH, TOTWIDTH; 2337 FX_DWORD SYMWIDTH, TOTWIDTH;
2338 FX_INT32 DW; 2338 int32_t DW;
2339 CJBig2_Image *BS; 2339 CJBig2_Image *BS;
2340 FX_DWORD I, J, REFAGGNINST; 2340 FX_DWORD I, J, REFAGGNINST;
2341 FX_BOOL *EXFLAGS; 2341 FX_BOOL *EXFLAGS;
2342 FX_DWORD EXINDEX; 2342 FX_DWORD EXINDEX;
2343 FX_BOOL CUREXFLAG; 2343 FX_BOOL CUREXFLAG;
2344 FX_DWORD EXRUNLENGTH; 2344 FX_DWORD EXRUNLENGTH;
2345 FX_INT32 nVal; 2345 int32_t nVal;
2346 FX_DWORD nTmp; 2346 FX_DWORD nTmp;
2347 FX_DWORD SBNUMSYMS; 2347 FX_DWORD SBNUMSYMS;
2348 FX_BYTE SBSYMCODELEN; 2348 uint8_t SBSYMCODELEN;
2349 FX_DWORD IDI; 2349 FX_DWORD IDI;
2350 FX_INT32 RDXI, RDYI; 2350 int32_t RDXI, RDYI;
2351 CJBig2_Image **SBSYMS; 2351 CJBig2_Image **SBSYMS;
2352 CJBig2_HuffmanTable *SBHUFFFS, *SBHUFFDS, *SBHUFFDT, *SBHUFFRDW, *SBHUFFRDH, *SBHUFFRDX, *SBHUFFRDY, 2352 CJBig2_HuffmanTable *SBHUFFFS, *SBHUFFDS, *SBHUFFDT, *SBHUFFRDW, *SBHUFFRDH, *SBHUFFRDX, *SBHUFFRDY,
2353 *SBHUFFRSIZE; 2353 *SBHUFFRSIZE;
2354 CJBig2_GRRDProc *pGRRD; 2354 CJBig2_GRRDProc *pGRRD;
2355 CJBig2_GRDProc *pGRD; 2355 CJBig2_GRDProc *pGRD;
2356 CJBig2_ArithIntDecoder *IADH, *IADW, *IAAI, *IARDX, *IARDY, *IAEX, 2356 CJBig2_ArithIntDecoder *IADH, *IADW, *IAAI, *IARDX, *IARDY, *IAEX,
2357 *IADT, *IAFS, *IADS, *IAIT, *IARI, *IARDW, *IARDH; 2357 *IADT, *IAFS, *IADS, *IAIT, *IARI, *IARDW, *IARDH;
2358 CJBig2_ArithIaidDecoder *IAID; 2358 CJBig2_ArithIaidDecoder *IAID;
2359 CJBig2_SymbolDict *pDict; 2359 CJBig2_SymbolDict *pDict;
2360 JBIG2_ALLOC(IADH, CJBig2_ArithIntDecoder()); 2360 JBIG2_ALLOC(IADH, CJBig2_ArithIntDecoder());
2361 JBIG2_ALLOC(IADW, CJBig2_ArithIntDecoder()); 2361 JBIG2_ALLOC(IADW, CJBig2_ArithIntDecoder());
2362 JBIG2_ALLOC(IAAI, CJBig2_ArithIntDecoder()); 2362 JBIG2_ALLOC(IAAI, CJBig2_ArithIntDecoder());
2363 JBIG2_ALLOC(IARDX, CJBig2_ArithIntDecoder()); 2363 JBIG2_ALLOC(IARDX, CJBig2_ArithIntDecoder());
2364 JBIG2_ALLOC(IARDY, CJBig2_ArithIntDecoder()); 2364 JBIG2_ALLOC(IARDY, CJBig2_ArithIntDecoder());
2365 JBIG2_ALLOC(IAEX, CJBig2_ArithIntDecoder()); 2365 JBIG2_ALLOC(IAEX, CJBig2_ArithIntDecoder());
2366 JBIG2_ALLOC(IADT, CJBig2_ArithIntDecoder()); 2366 JBIG2_ALLOC(IADT, CJBig2_ArithIntDecoder());
2367 JBIG2_ALLOC(IAFS, CJBig2_ArithIntDecoder()); 2367 JBIG2_ALLOC(IAFS, CJBig2_ArithIntDecoder());
2368 JBIG2_ALLOC(IADS, CJBig2_ArithIntDecoder()); 2368 JBIG2_ALLOC(IADS, CJBig2_ArithIntDecoder());
2369 JBIG2_ALLOC(IAIT, CJBig2_ArithIntDecoder()); 2369 JBIG2_ALLOC(IAIT, CJBig2_ArithIntDecoder());
2370 JBIG2_ALLOC(IARI, CJBig2_ArithIntDecoder()); 2370 JBIG2_ALLOC(IARI, CJBig2_ArithIntDecoder());
2371 JBIG2_ALLOC(IARDW, CJBig2_ArithIntDecoder()); 2371 JBIG2_ALLOC(IARDW, CJBig2_ArithIntDecoder());
2372 JBIG2_ALLOC(IARDH, CJBig2_ArithIntDecoder()); 2372 JBIG2_ALLOC(IARDH, CJBig2_ArithIntDecoder());
2373 nTmp = 0; 2373 nTmp = 0;
2374 while((FX_DWORD)(1 << nTmp) < (SDNUMINSYMS + SDNUMNEWSYMS)) { 2374 while((FX_DWORD)(1 << nTmp) < (SDNUMINSYMS + SDNUMNEWSYMS)) {
2375 nTmp ++; 2375 nTmp ++;
2376 } 2376 }
2377 JBIG2_ALLOC(IAID, CJBig2_ArithIaidDecoder((FX_BYTE)nTmp)); 2377 JBIG2_ALLOC(IAID, CJBig2_ArithIaidDecoder((uint8_t)nTmp));
2378 SDNEWSYMS = (CJBig2_Image**)m_pModule->JBig2_Malloc2(SDNUMNEWSYMS, sizeof(CJ Big2_Image*)); 2378 SDNEWSYMS = (CJBig2_Image**)m_pModule->JBig2_Malloc2(SDNUMNEWSYMS, sizeof(CJ Big2_Image*));
2379 FXSYS_memset32(SDNEWSYMS, 0 , SDNUMNEWSYMS * sizeof(CJBig2_Image*)); 2379 FXSYS_memset32(SDNEWSYMS, 0 , SDNUMNEWSYMS * sizeof(CJBig2_Image*));
2380 HCHEIGHT = 0; 2380 HCHEIGHT = 0;
2381 NSYMSDECODED = 0; 2381 NSYMSDECODED = 0;
2382 while(NSYMSDECODED < SDNUMNEWSYMS) { 2382 while(NSYMSDECODED < SDNUMNEWSYMS) {
2383 BS = NULL; 2383 BS = NULL;
2384 if(IADH->decode(pArithDecoder, &HCDH) == -1) { 2384 if(IADH->decode(pArithDecoder, &HCDH) == -1) {
2385 m_pModule->JBig2_Error("symbol dictionary decoding procedure (arith) : too short."); 2385 m_pModule->JBig2_Error("symbol dictionary decoding procedure (arith) : too short.");
2386 goto failed; 2386 goto failed;
2387 } 2387 }
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
2451 pDecoder->SBW = SYMWIDTH; 2451 pDecoder->SBW = SYMWIDTH;
2452 pDecoder->SBH = HCHEIGHT; 2452 pDecoder->SBH = HCHEIGHT;
2453 pDecoder->SBNUMINSTANCES = REFAGGNINST; 2453 pDecoder->SBNUMINSTANCES = REFAGGNINST;
2454 pDecoder->SBSTRIPS = 1; 2454 pDecoder->SBSTRIPS = 1;
2455 pDecoder->SBNUMSYMS = SDNUMINSYMS + NSYMSDECODED; 2455 pDecoder->SBNUMSYMS = SDNUMINSYMS + NSYMSDECODED;
2456 SBNUMSYMS = pDecoder->SBNUMSYMS; 2456 SBNUMSYMS = pDecoder->SBNUMSYMS;
2457 nTmp = 0; 2457 nTmp = 0;
2458 while((FX_DWORD)(1 << nTmp) < SBNUMSYMS) { 2458 while((FX_DWORD)(1 << nTmp) < SBNUMSYMS) {
2459 nTmp ++; 2459 nTmp ++;
2460 } 2460 }
2461 SBSYMCODELEN = (FX_BYTE)nTmp; 2461 SBSYMCODELEN = (uint8_t)nTmp;
2462 pDecoder->SBSYMCODELEN = SBSYMCODELEN; 2462 pDecoder->SBSYMCODELEN = SBSYMCODELEN;
2463 SBSYMS = (CJBig2_Image**)m_pModule->JBig2_Malloc2(SBNUMSYMS, sizeof(CJBig2_Image*)); 2463 SBSYMS = (CJBig2_Image**)m_pModule->JBig2_Malloc2(SBNUMSYMS, sizeof(CJBig2_Image*));
2464 JBIG2_memcpy(SBSYMS, SDINSYMS, SDNUMINSYMS * sizeof(CJBig2_I mage*)); 2464 JBIG2_memcpy(SBSYMS, SDINSYMS, SDNUMINSYMS * sizeof(CJBig2_I mage*));
2465 JBIG2_memcpy(SBSYMS + SDNUMINSYMS, SDNEWSYMS, NSYMSDECODED * sizeof(CJBig2_Image*)); 2465 JBIG2_memcpy(SBSYMS + SDNUMINSYMS, SDNEWSYMS, NSYMSDECODED * sizeof(CJBig2_Image*));
2466 pDecoder->SBSYMS = SBSYMS; 2466 pDecoder->SBSYMS = SBSYMS;
2467 pDecoder->SBDEFPIXEL = 0; 2467 pDecoder->SBDEFPIXEL = 0;
2468 pDecoder->SBCOMBOP = JBIG2_COMPOSE_OR; 2468 pDecoder->SBCOMBOP = JBIG2_COMPOSE_OR;
2469 pDecoder->TRANSPOSED = 0; 2469 pDecoder->TRANSPOSED = 0;
2470 pDecoder->REFCORNER = JBIG2_CORNER_TOPLEFT; 2470 pDecoder->REFCORNER = JBIG2_CORNER_TOPLEFT;
2471 pDecoder->SBDSOFFSET = 0; 2471 pDecoder->SBDSOFFSET = 0;
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
2664 delete IARDW; 2664 delete IARDW;
2665 delete IARDH; 2665 delete IARDH;
2666 return NULL; 2666 return NULL;
2667 } 2667 }
2668 CJBig2_SymbolDict *CJBig2_SDDProc::decode_Huffman(CJBig2_BitStream *pStream, 2668 CJBig2_SymbolDict *CJBig2_SDDProc::decode_Huffman(CJBig2_BitStream *pStream,
2669 JBig2ArithCtx *gbContext, JBig2ArithCtx *grContext, IFX_Pause* pPause) 2669 JBig2ArithCtx *gbContext, JBig2ArithCtx *grContext, IFX_Pause* pPause)
2670 { 2670 {
2671 CJBig2_Image **SDNEWSYMS; 2671 CJBig2_Image **SDNEWSYMS;
2672 FX_DWORD *SDNEWSYMWIDTHS; 2672 FX_DWORD *SDNEWSYMWIDTHS;
2673 FX_DWORD HCHEIGHT, NSYMSDECODED; 2673 FX_DWORD HCHEIGHT, NSYMSDECODED;
2674 FX_INT32 HCDH; 2674 int32_t HCDH;
2675 FX_DWORD SYMWIDTH, TOTWIDTH, HCFIRSTSYM; 2675 FX_DWORD SYMWIDTH, TOTWIDTH, HCFIRSTSYM;
2676 FX_INT32 DW; 2676 int32_t DW;
2677 CJBig2_Image *BS, *BHC; 2677 CJBig2_Image *BS, *BHC;
2678 FX_DWORD I, J, REFAGGNINST; 2678 FX_DWORD I, J, REFAGGNINST;
2679 FX_BOOL *EXFLAGS; 2679 FX_BOOL *EXFLAGS;
2680 FX_DWORD EXINDEX; 2680 FX_DWORD EXINDEX;
2681 FX_BOOL CUREXFLAG; 2681 FX_BOOL CUREXFLAG;
2682 FX_DWORD EXRUNLENGTH; 2682 FX_DWORD EXRUNLENGTH;
2683 FX_INT32 nVal, nBits; 2683 int32_t nVal, nBits;
2684 FX_DWORD nTmp; 2684 FX_DWORD nTmp;
2685 FX_DWORD SBNUMSYMS; 2685 FX_DWORD SBNUMSYMS;
2686 FX_BYTE SBSYMCODELEN; 2686 uint8_t SBSYMCODELEN;
2687 JBig2HuffmanCode *SBSYMCODES; 2687 JBig2HuffmanCode *SBSYMCODES;
2688 FX_DWORD IDI; 2688 FX_DWORD IDI;
2689 FX_INT32 RDXI, RDYI; 2689 int32_t RDXI, RDYI;
2690 FX_DWORD BMSIZE; 2690 FX_DWORD BMSIZE;
2691 FX_DWORD stride; 2691 FX_DWORD stride;
2692 CJBig2_Image **SBSYMS; 2692 CJBig2_Image **SBSYMS;
2693 CJBig2_HuffmanTable *SBHUFFFS, *SBHUFFDS, *SBHUFFDT, *SBHUFFRDW, *SBHUFFRDH, *SBHUFFRDX, *SBHUFFRDY, 2693 CJBig2_HuffmanTable *SBHUFFFS, *SBHUFFDS, *SBHUFFDT, *SBHUFFRDW, *SBHUFFRDH, *SBHUFFRDX, *SBHUFFRDY,
2694 *SBHUFFRSIZE, *pTable; 2694 *SBHUFFRSIZE, *pTable;
2695 CJBig2_HuffmanDecoder *pHuffmanDecoder; 2695 CJBig2_HuffmanDecoder *pHuffmanDecoder;
2696 CJBig2_GRRDProc *pGRRD; 2696 CJBig2_GRRDProc *pGRRD;
2697 CJBig2_ArithDecoder *pArithDecoder; 2697 CJBig2_ArithDecoder *pArithDecoder;
2698 CJBig2_GRDProc *pGRD; 2698 CJBig2_GRDProc *pGRD;
2699 CJBig2_SymbolDict *pDict; 2699 CJBig2_SymbolDict *pDict;
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
2836 delete SBHUFFRDX; 2836 delete SBHUFFRDX;
2837 delete SBHUFFRDY; 2837 delete SBHUFFRDY;
2838 delete SBHUFFRSIZE; 2838 delete SBHUFFRSIZE;
2839 delete pDecoder; 2839 delete pDecoder;
2840 } else if(REFAGGNINST == 1) { 2840 } else if(REFAGGNINST == 1) {
2841 SBNUMSYMS = SDNUMINSYMS + SDNUMNEWSYMS; 2841 SBNUMSYMS = SDNUMINSYMS + SDNUMNEWSYMS;
2842 nTmp = 1; 2842 nTmp = 1;
2843 while((FX_DWORD)(1 << nTmp) < SBNUMSYMS) { 2843 while((FX_DWORD)(1 << nTmp) < SBNUMSYMS) {
2844 nTmp ++; 2844 nTmp ++;
2845 } 2845 }
2846 SBSYMCODELEN = (FX_BYTE)nTmp; 2846 SBSYMCODELEN = (uint8_t)nTmp;
2847 SBSYMCODES = (JBig2HuffmanCode*)m_pModule->JBig2_Malloc2(SBN UMSYMS, sizeof(JBig2HuffmanCode)); 2847 SBSYMCODES = (JBig2HuffmanCode*)m_pModule->JBig2_Malloc2(SBN UMSYMS, sizeof(JBig2HuffmanCode));
2848 for(I = 0; I < SBNUMSYMS; I++) { 2848 for(I = 0; I < SBNUMSYMS; I++) {
2849 SBSYMCODES[I].codelen = SBSYMCODELEN; 2849 SBSYMCODES[I].codelen = SBSYMCODELEN;
2850 SBSYMCODES[I].code = I; 2850 SBSYMCODES[I].code = I;
2851 } 2851 }
2852 nVal = 0; 2852 nVal = 0;
2853 nBits = 0; 2853 nBits = 0;
2854 for(;;) { 2854 for(;;) {
2855 if(pStream->read1Bit(&nTmp) != 0) { 2855 if(pStream->read1Bit(&nTmp) != 0) {
2856 m_pModule->JBig2_Free(SBSYMCODES); 2856 m_pModule->JBig2_Free(SBSYMCODES);
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
2924 delete pArithDecoder; 2924 delete pArithDecoder;
2925 } 2925 }
2926 SDNEWSYMS[NSYMSDECODED] = BS; 2926 SDNEWSYMS[NSYMSDECODED] = BS;
2927 } 2927 }
2928 if(SDREFAGG == 0) { 2928 if(SDREFAGG == 0) {
2929 SDNEWSYMWIDTHS[NSYMSDECODED] = SYMWIDTH; 2929 SDNEWSYMWIDTHS[NSYMSDECODED] = SYMWIDTH;
2930 } 2930 }
2931 NSYMSDECODED = NSYMSDECODED + 1; 2931 NSYMSDECODED = NSYMSDECODED + 1;
2932 } 2932 }
2933 if(SDREFAGG == 0) { 2933 if(SDREFAGG == 0) {
2934 if(pHuffmanDecoder->decodeAValue(SDHUFFBMSIZE, (FX_INT32*)&BMSIZE) ! = 0) { 2934 if(pHuffmanDecoder->decodeAValue(SDHUFFBMSIZE, (int32_t*)&BMSIZE) != 0) {
2935 m_pModule->JBig2_Error("symbol dictionary decoding procedure (hu ffman): too short."); 2935 m_pModule->JBig2_Error("symbol dictionary decoding procedure (hu ffman): too short.");
2936 goto failed; 2936 goto failed;
2937 } 2937 }
2938 pStream->alignByte(); 2938 pStream->alignByte();
2939 if(BMSIZE == 0) { 2939 if(BMSIZE == 0) {
2940 stride = (TOTWIDTH + 7) >> 3; 2940 stride = (TOTWIDTH + 7) >> 3;
2941 if(pStream->getByteLeft() >= stride * HCHEIGHT) { 2941 if(pStream->getByteLeft() >= stride * HCHEIGHT) {
2942 JBIG2_ALLOC(BHC, CJBig2_Image(TOTWIDTH, HCHEIGHT)); 2942 JBIG2_ALLOC(BHC, CJBig2_Image(TOTWIDTH, HCHEIGHT));
2943 for(I = 0; I < HCHEIGHT; I ++) { 2943 for(I = 0; I < HCHEIGHT; I ++) {
2944 JBIG2_memcpy(BHC->m_pData + I * BHC->m_nStride, pStream- >getPointer(), stride); 2944 JBIG2_memcpy(BHC->m_pData + I * BHC->m_nStride, pStream- >getPointer(), stride);
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
3035 if(SDREFAGG == 0) { 3035 if(SDREFAGG == 0) {
3036 m_pModule->JBig2_Free(SDNEWSYMWIDTHS); 3036 m_pModule->JBig2_Free(SDNEWSYMWIDTHS);
3037 } 3037 }
3038 delete pHuffmanDecoder; 3038 delete pHuffmanDecoder;
3039 return NULL; 3039 return NULL;
3040 } 3040 }
3041 CJBig2_Image *CJBig2_HTRDProc::decode_Arith(CJBig2_ArithDecoder *pArithDecoder, 3041 CJBig2_Image *CJBig2_HTRDProc::decode_Arith(CJBig2_ArithDecoder *pArithDecoder,
3042 JBig2ArithCtx *gbContext, IFX_Pause* pPause) 3042 JBig2ArithCtx *gbContext, IFX_Pause* pPause)
3043 { 3043 {
3044 FX_DWORD ng, mg; 3044 FX_DWORD ng, mg;
3045 FX_INT32 x, y; 3045 int32_t x, y;
3046 CJBig2_Image *HSKIP; 3046 CJBig2_Image *HSKIP;
3047 FX_DWORD HBPP; 3047 FX_DWORD HBPP;
3048 FX_DWORD *GI; 3048 FX_DWORD *GI;
3049 CJBig2_Image *HTREG; 3049 CJBig2_Image *HTREG;
3050 CJBig2_GSIDProc *pGID; 3050 CJBig2_GSIDProc *pGID;
3051 JBIG2_ALLOC(HTREG, CJBig2_Image(HBW, HBH)); 3051 JBIG2_ALLOC(HTREG, CJBig2_Image(HBW, HBH));
3052 HTREG->fill(HDEFPIXEL); 3052 HTREG->fill(HDEFPIXEL);
3053 HSKIP = NULL; 3053 HSKIP = NULL;
3054 if(HENABLESKIP == 1) { 3054 if(HENABLESKIP == 1) {
3055 JBIG2_ALLOC(HSKIP, CJBig2_Image(HGW, HGH)); 3055 JBIG2_ALLOC(HSKIP, CJBig2_Image(HGW, HGH));
3056 for(mg = 0; mg < HGH; mg++) { 3056 for(mg = 0; mg < HGH; mg++) {
3057 for(ng = 0; ng < HGW; ng++) { 3057 for(ng = 0; ng < HGW; ng++) {
3058 x = (HGX + mg * HRY + ng * HRX) >> 8; 3058 x = (HGX + mg * HRY + ng * HRX) >> 8;
3059 y = (HGY + mg * HRX - ng * HRY) >> 8; 3059 y = (HGY + mg * HRX - ng * HRY) >> 8;
3060 if((x + HPW <= 0) | (x >= (FX_INT32)HBW) 3060 if((x + HPW <= 0) | (x >= (int32_t)HBW)
3061 | (y + HPH <= 0) | (y >= (FX_INT32)HPH)) { 3061 | (y + HPH <= 0) | (y >= (int32_t)HPH)) {
3062 HSKIP->setPixel(ng, mg, 1); 3062 HSKIP->setPixel(ng, mg, 1);
3063 } else { 3063 } else {
3064 HSKIP->setPixel(ng, mg, 0); 3064 HSKIP->setPixel(ng, mg, 0);
3065 } 3065 }
3066 } 3066 }
3067 } 3067 }
3068 } 3068 }
3069 HBPP = 1; 3069 HBPP = 1;
3070 while((FX_DWORD)(1 << HBPP) < HNUMPATS) { 3070 while((FX_DWORD)(1 << HBPP) < HNUMPATS) {
3071 HBPP ++; 3071 HBPP ++;
3072 } 3072 }
3073 JBIG2_ALLOC(pGID, CJBig2_GSIDProc()); 3073 JBIG2_ALLOC(pGID, CJBig2_GSIDProc());
3074 pGID->GSMMR = HMMR; 3074 pGID->GSMMR = HMMR;
3075 pGID->GSW = HGW; 3075 pGID->GSW = HGW;
3076 pGID->GSH = HGH; 3076 pGID->GSH = HGH;
3077 pGID->GSBPP = (FX_BYTE)HBPP; 3077 pGID->GSBPP = (uint8_t)HBPP;
3078 pGID->GSUSESKIP = HENABLESKIP; 3078 pGID->GSUSESKIP = HENABLESKIP;
3079 pGID->GSKIP = HSKIP; 3079 pGID->GSKIP = HSKIP;
3080 pGID->GSTEMPLATE = HTEMPLATE; 3080 pGID->GSTEMPLATE = HTEMPLATE;
3081 GI = pGID->decode_Arith(pArithDecoder, gbContext, pPause); 3081 GI = pGID->decode_Arith(pArithDecoder, gbContext, pPause);
3082 if(GI == NULL) { 3082 if(GI == NULL) {
3083 goto failed; 3083 goto failed;
3084 } 3084 }
3085 for(mg = 0; mg < HGH; mg++) { 3085 for(mg = 0; mg < HGH; mg++) {
3086 for(ng = 0; ng < HGW; ng++) { 3086 for(ng = 0; ng < HGW; ng++) {
3087 x = (HGX + mg * HRY + ng * HRX) >> 8; 3087 x = (HGX + mg * HRY + ng * HRX) >> 8;
(...skipping 15 matching lines...) Expand all
3103 if(HSKIP) { 3103 if(HSKIP) {
3104 delete HSKIP; 3104 delete HSKIP;
3105 } 3105 }
3106 delete pGID; 3106 delete pGID;
3107 delete HTREG; 3107 delete HTREG;
3108 return NULL; 3108 return NULL;
3109 } 3109 }
3110 CJBig2_Image *CJBig2_HTRDProc::decode_MMR(CJBig2_BitStream *pStream, IFX_Pause* pPause) 3110 CJBig2_Image *CJBig2_HTRDProc::decode_MMR(CJBig2_BitStream *pStream, IFX_Pause* pPause)
3111 { 3111 {
3112 FX_DWORD ng, mg; 3112 FX_DWORD ng, mg;
3113 FX_INT32 x, y; 3113 int32_t x, y;
3114 FX_DWORD HBPP; 3114 FX_DWORD HBPP;
3115 FX_DWORD *GI; 3115 FX_DWORD *GI;
3116 CJBig2_Image *HTREG; 3116 CJBig2_Image *HTREG;
3117 CJBig2_GSIDProc *pGID; 3117 CJBig2_GSIDProc *pGID;
3118 JBIG2_ALLOC(HTREG, CJBig2_Image(HBW, HBH)); 3118 JBIG2_ALLOC(HTREG, CJBig2_Image(HBW, HBH));
3119 HTREG->fill(HDEFPIXEL); 3119 HTREG->fill(HDEFPIXEL);
3120 HBPP = 1; 3120 HBPP = 1;
3121 while((FX_DWORD)(1 << HBPP) < HNUMPATS) { 3121 while((FX_DWORD)(1 << HBPP) < HNUMPATS) {
3122 HBPP ++; 3122 HBPP ++;
3123 } 3123 }
3124 JBIG2_ALLOC(pGID, CJBig2_GSIDProc()); 3124 JBIG2_ALLOC(pGID, CJBig2_GSIDProc());
3125 pGID->GSMMR = HMMR; 3125 pGID->GSMMR = HMMR;
3126 pGID->GSW = HGW; 3126 pGID->GSW = HGW;
3127 pGID->GSH = HGH; 3127 pGID->GSH = HGH;
3128 pGID->GSBPP = (FX_BYTE)HBPP; 3128 pGID->GSBPP = (uint8_t)HBPP;
3129 pGID->GSUSESKIP = 0; 3129 pGID->GSUSESKIP = 0;
3130 GI = pGID->decode_MMR(pStream, pPause); 3130 GI = pGID->decode_MMR(pStream, pPause);
3131 if(GI == NULL) { 3131 if(GI == NULL) {
3132 goto failed; 3132 goto failed;
3133 } 3133 }
3134 for(mg = 0; mg < HGH; mg++) { 3134 for(mg = 0; mg < HGH; mg++) {
3135 for(ng = 0; ng < HGW; ng++) { 3135 for(ng = 0; ng < HGW; ng++) {
3136 x = (HGX + mg * HRY + ng * HRX) >> 8; 3136 x = (HGX + mg * HRY + ng * HRX) >> 8;
3137 y = (HGY + mg * HRX - ng * HRY) >> 8; 3137 y = (HGY + mg * HRX - ng * HRY) >> 8;
3138 FX_DWORD pat_index = GI[mg * HGW + ng]; 3138 FX_DWORD pat_index = GI[mg * HGW + ng];
(...skipping 22 matching lines...) Expand all
3161 pDict->NUMPATS = GRAYMAX + 1; 3161 pDict->NUMPATS = GRAYMAX + 1;
3162 pDict->HDPATS = (CJBig2_Image**)m_pModule->JBig2_Malloc2(sizeof(CJBig2_Image *), pDict->NUMPATS); 3162 pDict->HDPATS = (CJBig2_Image**)m_pModule->JBig2_Malloc2(sizeof(CJBig2_Image *), pDict->NUMPATS);
3163 JBIG2_memset(pDict->HDPATS, 0, sizeof(CJBig2_Image*)*pDict->NUMPATS); 3163 JBIG2_memset(pDict->HDPATS, 0, sizeof(CJBig2_Image*)*pDict->NUMPATS);
3164 JBIG2_ALLOC(pGRD, CJBig2_GRDProc()); 3164 JBIG2_ALLOC(pGRD, CJBig2_GRDProc());
3165 pGRD->MMR = HDMMR; 3165 pGRD->MMR = HDMMR;
3166 pGRD->GBW = (GRAYMAX + 1) * HDPW; 3166 pGRD->GBW = (GRAYMAX + 1) * HDPW;
3167 pGRD->GBH = HDPH; 3167 pGRD->GBH = HDPH;
3168 pGRD->GBTEMPLATE = HDTEMPLATE; 3168 pGRD->GBTEMPLATE = HDTEMPLATE;
3169 pGRD->TPGDON = 0; 3169 pGRD->TPGDON = 0;
3170 pGRD->USESKIP = 0; 3170 pGRD->USESKIP = 0;
3171 pGRD->GBAT[0] = -(FX_INT32)HDPW; 3171 pGRD->GBAT[0] = -(int32_t)HDPW;
3172 pGRD->GBAT[1] = 0; 3172 pGRD->GBAT[1] = 0;
3173 if(pGRD->GBTEMPLATE == 0) { 3173 if(pGRD->GBTEMPLATE == 0) {
3174 pGRD->GBAT[2] = -3; 3174 pGRD->GBAT[2] = -3;
3175 pGRD->GBAT[3] = -1; 3175 pGRD->GBAT[3] = -1;
3176 pGRD->GBAT[4] = 2; 3176 pGRD->GBAT[4] = 2;
3177 pGRD->GBAT[5] = -2; 3177 pGRD->GBAT[5] = -2;
3178 pGRD->GBAT[6] = -2; 3178 pGRD->GBAT[6] = -2;
3179 pGRD->GBAT[7] = -2; 3179 pGRD->GBAT[7] = -2;
3180 } 3180 }
3181 FXCODEC_STATUS status = pGRD->Start_decode_Arith(&BHDC, pArithDecoder, gbCon text); 3181 FXCODEC_STATUS status = pGRD->Start_decode_Arith(&BHDC, pArithDecoder, gbCon text);
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
3230 delete BHDC; 3230 delete BHDC;
3231 return pDict; 3231 return pDict;
3232 failed: 3232 failed:
3233 delete pDict; 3233 delete pDict;
3234 return NULL; 3234 return NULL;
3235 } 3235 }
3236 FX_DWORD *CJBig2_GSIDProc::decode_Arith(CJBig2_ArithDecoder *pArithDecoder, 3236 FX_DWORD *CJBig2_GSIDProc::decode_Arith(CJBig2_ArithDecoder *pArithDecoder,
3237 JBig2ArithCtx *gbContext, IFX_Pause* pPa use) 3237 JBig2ArithCtx *gbContext, IFX_Pause* pPa use)
3238 { 3238 {
3239 CJBig2_Image **GSPLANES; 3239 CJBig2_Image **GSPLANES;
3240 FX_INT32 J, K; 3240 int32_t J, K;
3241 FX_DWORD x, y; 3241 FX_DWORD x, y;
3242 FX_DWORD *GSVALS; 3242 FX_DWORD *GSVALS;
3243 CJBig2_GRDProc *pGRD; 3243 CJBig2_GRDProc *pGRD;
3244 GSPLANES = (CJBig2_Image **)m_pModule->JBig2_Malloc2(sizeof(CJBig2_Image*), GSBPP); 3244 GSPLANES = (CJBig2_Image **)m_pModule->JBig2_Malloc2(sizeof(CJBig2_Image*), GSBPP);
3245 if (!GSPLANES) { 3245 if (!GSPLANES) {
3246 return NULL; 3246 return NULL;
3247 } 3247 }
3248 GSVALS = (FX_DWORD*)m_pModule->JBig2_Malloc3(sizeof(FX_DWORD), GSW, GSH); 3248 GSVALS = (FX_DWORD*)m_pModule->JBig2_Malloc3(sizeof(FX_DWORD), GSW, GSH);
3249 if (!GSVALS) { 3249 if (!GSVALS) {
3250 m_pModule->JBig2_Free(GSPLANES); 3250 m_pModule->JBig2_Free(GSPLANES);
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
3311 return GSVALS; 3311 return GSVALS;
3312 failed: 3312 failed:
3313 m_pModule->JBig2_Free(GSPLANES); 3313 m_pModule->JBig2_Free(GSPLANES);
3314 delete pGRD; 3314 delete pGRD;
3315 m_pModule->JBig2_Free(GSVALS); 3315 m_pModule->JBig2_Free(GSVALS);
3316 return NULL; 3316 return NULL;
3317 } 3317 }
3318 FX_DWORD *CJBig2_GSIDProc::decode_MMR(CJBig2_BitStream *pStream, IFX_Pause* pPau se) 3318 FX_DWORD *CJBig2_GSIDProc::decode_MMR(CJBig2_BitStream *pStream, IFX_Pause* pPau se)
3319 { 3319 {
3320 CJBig2_Image **GSPLANES; 3320 CJBig2_Image **GSPLANES;
3321 FX_INT32 J, K; 3321 int32_t J, K;
3322 FX_DWORD x, y; 3322 FX_DWORD x, y;
3323 FX_DWORD *GSVALS; 3323 FX_DWORD *GSVALS;
3324 CJBig2_GRDProc *pGRD; 3324 CJBig2_GRDProc *pGRD;
3325 GSPLANES = (CJBig2_Image **)m_pModule->JBig2_Malloc2(sizeof(CJBig2_Image*), GSBPP); 3325 GSPLANES = (CJBig2_Image **)m_pModule->JBig2_Malloc2(sizeof(CJBig2_Image*), GSBPP);
3326 if (!GSPLANES) { 3326 if (!GSPLANES) {
3327 return NULL; 3327 return NULL;
3328 } 3328 }
3329 GSVALS = (FX_DWORD*)m_pModule->JBig2_Malloc3(sizeof(FX_DWORD), GSW, GSH); 3329 GSVALS = (FX_DWORD*)m_pModule->JBig2_Malloc3(sizeof(FX_DWORD), GSW, GSH);
3330 if (!GSVALS) { 3330 if (!GSVALS) {
3331 if (GSPLANES) { 3331 if (GSPLANES) {
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after
3801 return decode_MMR(); 3801 return decode_MMR();
3802 } 3802 }
3803 m_ProssiveStatus = FXCODEC_STATUS_ERROR; 3803 m_ProssiveStatus = FXCODEC_STATUS_ERROR;
3804 return m_ProssiveStatus; 3804 return m_ProssiveStatus;
3805 } 3805 }
3806 FXCODEC_STATUS CJBig2_GRDProc::decode_Arith_Template0_opt3(CJBig2_Image *pImage, CJBig2_ArithDecoder *pArithDecoder, JBig2ArithCtx *gbContext, IFX_Pause* pPause ) 3806 FXCODEC_STATUS CJBig2_GRDProc::decode_Arith_Template0_opt3(CJBig2_Image *pImage, CJBig2_ArithDecoder *pArithDecoder, JBig2ArithCtx *gbContext, IFX_Pause* pPause )
3807 { 3807 {
3808 FX_BOOL SLTP, bVal; 3808 FX_BOOL SLTP, bVal;
3809 FX_DWORD CONTEXT; 3809 FX_DWORD CONTEXT;
3810 FX_DWORD line1, line2; 3810 FX_DWORD line1, line2;
3811 FX_BYTE *pLine1, *pLine2, cVal; 3811 uint8_t *pLine1, *pLine2, cVal;
3812 FX_INT32 nStride, nStride2, k; 3812 int32_t nStride, nStride2, k;
3813 FX_INT32 nLineBytes, nBitsLeft, cc; 3813 int32_t nLineBytes, nBitsLeft, cc;
3814 if(m_pLine == NULL) { 3814 if(m_pLine == NULL) {
3815 m_pLine = pImage->m_pData; 3815 m_pLine = pImage->m_pData;
3816 } 3816 }
3817 nStride = pImage->m_nStride; 3817 nStride = pImage->m_nStride;
3818 nStride2 = nStride << 1; 3818 nStride2 = nStride << 1;
3819 nLineBytes = ((GBW + 7) >> 3) - 1; 3819 nLineBytes = ((GBW + 7) >> 3) - 1;
3820 nBitsLeft = GBW - (nLineBytes << 3); 3820 nBitsLeft = GBW - (nLineBytes << 3);
3821 FX_DWORD height = GBH & 0x7fffffff; 3821 FX_DWORD height = GBH & 0x7fffffff;
3822 for(; m_loopIndex < height; m_loopIndex++) { 3822 for(; m_loopIndex < height; m_loopIndex++) {
3823 if(TPGDON) { 3823 if(TPGDON) {
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
3942 } 3942 }
3943 } 3943 }
3944 m_ProssiveStatus = FXCODEC_STATUS_DECODE_FINISH; 3944 m_ProssiveStatus = FXCODEC_STATUS_DECODE_FINISH;
3945 return FXCODEC_STATUS_DECODE_FINISH; 3945 return FXCODEC_STATUS_DECODE_FINISH;
3946 } 3946 }
3947 FXCODEC_STATUS CJBig2_GRDProc::decode_Arith_Template1_opt3(CJBig2_Image *pImage, CJBig2_ArithDecoder *pArithDecoder, JBig2ArithCtx *gbContext, IFX_Pause* pPause ) 3947 FXCODEC_STATUS CJBig2_GRDProc::decode_Arith_Template1_opt3(CJBig2_Image *pImage, CJBig2_ArithDecoder *pArithDecoder, JBig2ArithCtx *gbContext, IFX_Pause* pPause )
3948 { 3948 {
3949 FX_BOOL SLTP, bVal; 3949 FX_BOOL SLTP, bVal;
3950 FX_DWORD CONTEXT; 3950 FX_DWORD CONTEXT;
3951 FX_DWORD line1, line2; 3951 FX_DWORD line1, line2;
3952 FX_BYTE *pLine1, *pLine2, cVal; 3952 uint8_t *pLine1, *pLine2, cVal;
3953 FX_INT32 nStride, nStride2, k; 3953 int32_t nStride, nStride2, k;
3954 FX_INT32 nLineBytes, nBitsLeft, cc; 3954 int32_t nLineBytes, nBitsLeft, cc;
3955 if (!m_pLine) { 3955 if (!m_pLine) {
3956 m_pLine = pImage->m_pData; 3956 m_pLine = pImage->m_pData;
3957 } 3957 }
3958 nStride = pImage->m_nStride; 3958 nStride = pImage->m_nStride;
3959 nStride2 = nStride << 1; 3959 nStride2 = nStride << 1;
3960 nLineBytes = ((GBW + 7) >> 3) - 1; 3960 nLineBytes = ((GBW + 7) >> 3) - 1;
3961 nBitsLeft = GBW - (nLineBytes << 3); 3961 nBitsLeft = GBW - (nLineBytes << 3);
3962 for(; m_loopIndex < GBH; m_loopIndex++) { 3962 for(; m_loopIndex < GBH; m_loopIndex++) {
3963 if(TPGDON) { 3963 if(TPGDON) {
3964 SLTP = pArithDecoder->DECODE(&gbContext[0x0795]); 3964 SLTP = pArithDecoder->DECODE(&gbContext[0x0795]);
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
4080 } 4080 }
4081 } 4081 }
4082 m_ProssiveStatus = FXCODEC_STATUS_DECODE_FINISH; 4082 m_ProssiveStatus = FXCODEC_STATUS_DECODE_FINISH;
4083 return FXCODEC_STATUS_DECODE_FINISH; 4083 return FXCODEC_STATUS_DECODE_FINISH;
4084 } 4084 }
4085 FXCODEC_STATUS CJBig2_GRDProc::decode_Arith_Template2_opt3(CJBig2_Image *pImage, CJBig2_ArithDecoder *pArithDecoder, JBig2ArithCtx *gbContext, IFX_Pause* pPause ) 4085 FXCODEC_STATUS CJBig2_GRDProc::decode_Arith_Template2_opt3(CJBig2_Image *pImage, CJBig2_ArithDecoder *pArithDecoder, JBig2ArithCtx *gbContext, IFX_Pause* pPause )
4086 { 4086 {
4087 FX_BOOL SLTP, bVal; 4087 FX_BOOL SLTP, bVal;
4088 FX_DWORD CONTEXT; 4088 FX_DWORD CONTEXT;
4089 FX_DWORD line1, line2; 4089 FX_DWORD line1, line2;
4090 FX_BYTE *pLine1, *pLine2, cVal; 4090 uint8_t *pLine1, *pLine2, cVal;
4091 FX_INT32 nStride, nStride2, k; 4091 int32_t nStride, nStride2, k;
4092 FX_INT32 nLineBytes, nBitsLeft, cc; 4092 int32_t nLineBytes, nBitsLeft, cc;
4093 if(!m_pLine) { 4093 if(!m_pLine) {
4094 m_pLine = pImage->m_pData; 4094 m_pLine = pImage->m_pData;
4095 } 4095 }
4096 nStride = pImage->m_nStride; 4096 nStride = pImage->m_nStride;
4097 nStride2 = nStride << 1; 4097 nStride2 = nStride << 1;
4098 nLineBytes = ((GBW + 7) >> 3) - 1; 4098 nLineBytes = ((GBW + 7) >> 3) - 1;
4099 nBitsLeft = GBW - (nLineBytes << 3); 4099 nBitsLeft = GBW - (nLineBytes << 3);
4100 for(; m_loopIndex < GBH; m_loopIndex++) { 4100 for(; m_loopIndex < GBH; m_loopIndex++) {
4101 if(TPGDON) { 4101 if(TPGDON) {
4102 SLTP = pArithDecoder->DECODE(&gbContext[0x00e5]); 4102 SLTP = pArithDecoder->DECODE(&gbContext[0x00e5]);
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
4216 } 4216 }
4217 } 4217 }
4218 m_ProssiveStatus = FXCODEC_STATUS_DECODE_FINISH; 4218 m_ProssiveStatus = FXCODEC_STATUS_DECODE_FINISH;
4219 return FXCODEC_STATUS_DECODE_FINISH; 4219 return FXCODEC_STATUS_DECODE_FINISH;
4220 } 4220 }
4221 FXCODEC_STATUS CJBig2_GRDProc::decode_Arith_Template3_opt3(CJBig2_Image *pImage, CJBig2_ArithDecoder *pArithDecoder, JBig2ArithCtx *gbContext, IFX_Pause* pPause ) 4221 FXCODEC_STATUS CJBig2_GRDProc::decode_Arith_Template3_opt3(CJBig2_Image *pImage, CJBig2_ArithDecoder *pArithDecoder, JBig2ArithCtx *gbContext, IFX_Pause* pPause )
4222 { 4222 {
4223 FX_BOOL SLTP, bVal; 4223 FX_BOOL SLTP, bVal;
4224 FX_DWORD CONTEXT; 4224 FX_DWORD CONTEXT;
4225 FX_DWORD line1; 4225 FX_DWORD line1;
4226 FX_BYTE *pLine1, cVal; 4226 uint8_t *pLine1, cVal;
4227 FX_INT32 nStride, k; 4227 int32_t nStride, k;
4228 FX_INT32 nLineBytes, nBitsLeft, cc; 4228 int32_t nLineBytes, nBitsLeft, cc;
4229 if (!m_pLine) { 4229 if (!m_pLine) {
4230 m_pLine = pImage->m_pData; 4230 m_pLine = pImage->m_pData;
4231 } 4231 }
4232 nStride = pImage->m_nStride; 4232 nStride = pImage->m_nStride;
4233 nLineBytes = ((GBW + 7) >> 3) - 1; 4233 nLineBytes = ((GBW + 7) >> 3) - 1;
4234 nBitsLeft = GBW - (nLineBytes << 3); 4234 nBitsLeft = GBW - (nLineBytes << 3);
4235 for(; m_loopIndex < GBH; m_loopIndex++) { 4235 for(; m_loopIndex < GBH; m_loopIndex++) {
4236 if(TPGDON) { 4236 if(TPGDON) {
4237 SLTP = pArithDecoder->DECODE(&gbContext[0x0195]); 4237 SLTP = pArithDecoder->DECODE(&gbContext[0x0195]);
4238 LTP = LTP ^ SLTP; 4238 LTP = LTP ^ SLTP;
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
4328 } 4328 }
4329 if(pPause && pPause->NeedToPauseNow()) { 4329 if(pPause && pPause->NeedToPauseNow()) {
4330 m_loopIndex++; 4330 m_loopIndex++;
4331 m_ProssiveStatus = FXCODEC_STATUS_DECODE_TOBECONTINUE; 4331 m_ProssiveStatus = FXCODEC_STATUS_DECODE_TOBECONTINUE;
4332 return FXCODEC_STATUS_DECODE_TOBECONTINUE; 4332 return FXCODEC_STATUS_DECODE_TOBECONTINUE;
4333 } 4333 }
4334 } 4334 }
4335 m_ProssiveStatus = FXCODEC_STATUS_DECODE_FINISH; 4335 m_ProssiveStatus = FXCODEC_STATUS_DECODE_FINISH;
4336 return FXCODEC_STATUS_DECODE_FINISH; 4336 return FXCODEC_STATUS_DECODE_FINISH;
4337 } 4337 }
OLDNEW
« no previous file with comments | « core/src/fxcodec/jbig2/JBig2_GeneralDecoder.h ('k') | core/src/fxcodec/jbig2/JBig2_Image.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698