OLD | NEW |
1 // Copyright 2015 PDFium Authors. All rights reserved. | 1 // Copyright 2015 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_SddProc.h" | 7 #include "core/fxcodec/jbig2/JBig2_SddProc.h" |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 #include <vector> | 10 #include <vector> |
(...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
516 if (SDREFAGG == 0) { | 516 if (SDREFAGG == 0) { |
517 if (pHuffmanDecoder->decodeAValue(SDHUFFBMSIZE, (int32_t*)&BMSIZE) != 0) { | 517 if (pHuffmanDecoder->decodeAValue(SDHUFFBMSIZE, (int32_t*)&BMSIZE) != 0) { |
518 goto failed; | 518 goto failed; |
519 } | 519 } |
520 pStream->alignByte(); | 520 pStream->alignByte(); |
521 if (BMSIZE == 0) { | 521 if (BMSIZE == 0) { |
522 stride = (TOTWIDTH + 7) >> 3; | 522 stride = (TOTWIDTH + 7) >> 3; |
523 if (pStream->getByteLeft() >= stride * HCHEIGHT) { | 523 if (pStream->getByteLeft() >= stride * HCHEIGHT) { |
524 BHC = new CJBig2_Image(TOTWIDTH, HCHEIGHT); | 524 BHC = new CJBig2_Image(TOTWIDTH, HCHEIGHT); |
525 for (I = 0; I < HCHEIGHT; I++) { | 525 for (I = 0; I < HCHEIGHT; I++) { |
526 JBIG2_memcpy(BHC->m_pData + I * BHC->m_nStride, | 526 JBIG2_memcpy(BHC->m_pData + I * BHC->stride(), |
527 pStream->getPointer(), stride); | 527 pStream->getPointer(), stride); |
528 pStream->offset(stride); | 528 pStream->offset(stride); |
529 } | 529 } |
530 } else { | 530 } else { |
531 goto failed; | 531 goto failed; |
532 } | 532 } |
533 } else { | 533 } else { |
534 std::unique_ptr<CJBig2_GRDProc> pGRD(new CJBig2_GRDProc()); | 534 std::unique_ptr<CJBig2_GRDProc> pGRD(new CJBig2_GRDProc()); |
535 pGRD->MMR = 1; | 535 pGRD->MMR = 1; |
536 pGRD->GBW = TOTWIDTH; | 536 pGRD->GBW = TOTWIDTH; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
594 failed: | 594 failed: |
595 for (I = 0; I < NSYMSDECODED; I++) { | 595 for (I = 0; I < NSYMSDECODED; I++) { |
596 delete SDNEWSYMS[I]; | 596 delete SDNEWSYMS[I]; |
597 } | 597 } |
598 FX_Free(SDNEWSYMS); | 598 FX_Free(SDNEWSYMS); |
599 if (SDREFAGG == 0) { | 599 if (SDREFAGG == 0) { |
600 FX_Free(SDNEWSYMWIDTHS); | 600 FX_Free(SDNEWSYMWIDTHS); |
601 } | 601 } |
602 return nullptr; | 602 return nullptr; |
603 } | 603 } |
OLD | NEW |