| 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 "JBig2_Context.h" | 7 #include "JBig2_Context.h" |
| 8 | 8 |
| 9 #include <list> | 9 #include <list> |
| 10 | 10 |
| (...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 509 FX_ArraySize(HuffmanTable_B4), | 509 FX_ArraySize(HuffmanTable_B4), |
| 510 HuffmanTable_HTOOB_B4)); | 510 HuffmanTable_HTOOB_B4)); |
| 511 pSymbolDictDecoder->SDHUFFDH = Table_B4.get(); | 511 pSymbolDictDecoder->SDHUFFDH = Table_B4.get(); |
| 512 } else if (cSDHUFFDH == 1) { | 512 } else if (cSDHUFFDH == 1) { |
| 513 Table_B5.reset(new CJBig2_HuffmanTable(HuffmanTable_B5, | 513 Table_B5.reset(new CJBig2_HuffmanTable(HuffmanTable_B5, |
| 514 FX_ArraySize(HuffmanTable_B5), | 514 FX_ArraySize(HuffmanTable_B5), |
| 515 HuffmanTable_HTOOB_B5)); | 515 HuffmanTable_HTOOB_B5)); |
| 516 pSymbolDictDecoder->SDHUFFDH = Table_B5.get(); | 516 pSymbolDictDecoder->SDHUFFDH = Table_B5.get(); |
| 517 } else { | 517 } else { |
| 518 CJBig2_Segment* pSeg = | 518 CJBig2_Segment* pSeg = |
| 519 findReferredSegmentByTypeAndIndex(pSegment, 53, ++nIndex); | 519 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); |
| 520 if (!pSeg) | 520 if (!pSeg) |
| 521 return JBIG2_ERROR_FATAL; | 521 return JBIG2_ERROR_FATAL; |
| 522 pSymbolDictDecoder->SDHUFFDH = pSeg->m_Result.ht; | 522 pSymbolDictDecoder->SDHUFFDH = pSeg->m_Result.ht; |
| 523 } | 523 } |
| 524 if (cSDHUFFDW == 0) { | 524 if (cSDHUFFDW == 0) { |
| 525 Table_B2.reset(new CJBig2_HuffmanTable(HuffmanTable_B2, | 525 Table_B2.reset(new CJBig2_HuffmanTable(HuffmanTable_B2, |
| 526 FX_ArraySize(HuffmanTable_B2), | 526 FX_ArraySize(HuffmanTable_B2), |
| 527 HuffmanTable_HTOOB_B2)); | 527 HuffmanTable_HTOOB_B2)); |
| 528 pSymbolDictDecoder->SDHUFFDW = Table_B2.get(); | 528 pSymbolDictDecoder->SDHUFFDW = Table_B2.get(); |
| 529 } else if (cSDHUFFDW == 1) { | 529 } else if (cSDHUFFDW == 1) { |
| 530 Table_B3.reset(new CJBig2_HuffmanTable(HuffmanTable_B3, | 530 Table_B3.reset(new CJBig2_HuffmanTable(HuffmanTable_B3, |
| 531 FX_ArraySize(HuffmanTable_B3), | 531 FX_ArraySize(HuffmanTable_B3), |
| 532 HuffmanTable_HTOOB_B3)); | 532 HuffmanTable_HTOOB_B3)); |
| 533 pSymbolDictDecoder->SDHUFFDW = Table_B3.get(); | 533 pSymbolDictDecoder->SDHUFFDW = Table_B3.get(); |
| 534 } else { | 534 } else { |
| 535 CJBig2_Segment* pSeg = | 535 CJBig2_Segment* pSeg = |
| 536 findReferredSegmentByTypeAndIndex(pSegment, 53, ++nIndex); | 536 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); |
| 537 if (!pSeg) | 537 if (!pSeg) |
| 538 return JBIG2_ERROR_FATAL; | 538 return JBIG2_ERROR_FATAL; |
| 539 pSymbolDictDecoder->SDHUFFDW = pSeg->m_Result.ht; | 539 pSymbolDictDecoder->SDHUFFDW = pSeg->m_Result.ht; |
| 540 } | 540 } |
| 541 if (cSDHUFFBMSIZE == 0) { | 541 if (cSDHUFFBMSIZE == 0) { |
| 542 Table_B1.reset(new CJBig2_HuffmanTable(HuffmanTable_B1, | 542 Table_B1.reset(new CJBig2_HuffmanTable(HuffmanTable_B1, |
| 543 FX_ArraySize(HuffmanTable_B1), | 543 FX_ArraySize(HuffmanTable_B1), |
| 544 HuffmanTable_HTOOB_B1)); | 544 HuffmanTable_HTOOB_B1)); |
| 545 pSymbolDictDecoder->SDHUFFBMSIZE = Table_B1.get(); | 545 pSymbolDictDecoder->SDHUFFBMSIZE = Table_B1.get(); |
| 546 } else { | 546 } else { |
| 547 CJBig2_Segment* pSeg = | 547 CJBig2_Segment* pSeg = |
| 548 findReferredSegmentByTypeAndIndex(pSegment, 53, ++nIndex); | 548 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); |
| 549 if (!pSeg) | 549 if (!pSeg) |
| 550 return JBIG2_ERROR_FATAL; | 550 return JBIG2_ERROR_FATAL; |
| 551 pSymbolDictDecoder->SDHUFFBMSIZE = pSeg->m_Result.ht; | 551 pSymbolDictDecoder->SDHUFFBMSIZE = pSeg->m_Result.ht; |
| 552 } | 552 } |
| 553 if (pSymbolDictDecoder->SDREFAGG == 1) { | 553 if (pSymbolDictDecoder->SDREFAGG == 1) { |
| 554 if (cSDHUFFAGGINST == 0) { | 554 if (cSDHUFFAGGINST == 0) { |
| 555 if (!Table_B1) { | 555 if (!Table_B1) { |
| 556 Table_B1.reset(new CJBig2_HuffmanTable(HuffmanTable_B1, | 556 Table_B1.reset(new CJBig2_HuffmanTable(HuffmanTable_B1, |
| 557 FX_ArraySize(HuffmanTable_B1), | 557 FX_ArraySize(HuffmanTable_B1), |
| 558 HuffmanTable_HTOOB_B1)); | 558 HuffmanTable_HTOOB_B1)); |
| 559 } | 559 } |
| 560 pSymbolDictDecoder->SDHUFFAGGINST = Table_B1.get(); | 560 pSymbolDictDecoder->SDHUFFAGGINST = Table_B1.get(); |
| 561 } else { | 561 } else { |
| 562 CJBig2_Segment* pSeg = | 562 CJBig2_Segment* pSeg = |
| 563 findReferredSegmentByTypeAndIndex(pSegment, 53, ++nIndex); | 563 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); |
| 564 if (!pSeg) | 564 if (!pSeg) |
| 565 return JBIG2_ERROR_FATAL; | 565 return JBIG2_ERROR_FATAL; |
| 566 pSymbolDictDecoder->SDHUFFAGGINST = pSeg->m_Result.ht; | 566 pSymbolDictDecoder->SDHUFFAGGINST = pSeg->m_Result.ht; |
| 567 } | 567 } |
| 568 } | 568 } |
| 569 } | 569 } |
| 570 | 570 |
| 571 const bool bUseGbContext = (pSymbolDictDecoder->SDHUFF == 0); | 571 const bool bUseGbContext = (pSymbolDictDecoder->SDHUFF == 0); |
| 572 const bool bUseGrContext = (pSymbolDictDecoder->SDREFAGG == 1); | 572 const bool bUseGrContext = (pSymbolDictDecoder->SDREFAGG == 1); |
| 573 const size_t gbContextSize = | 573 const size_t gbContextSize = |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 775 FX_ArraySize(HuffmanTable_B6), | 775 FX_ArraySize(HuffmanTable_B6), |
| 776 HuffmanTable_HTOOB_B6)); | 776 HuffmanTable_HTOOB_B6)); |
| 777 pTRD->SBHUFFFS = Table_B6.get(); | 777 pTRD->SBHUFFFS = Table_B6.get(); |
| 778 } else if (cSBHUFFFS == 1) { | 778 } else if (cSBHUFFFS == 1) { |
| 779 Table_B7.reset(new CJBig2_HuffmanTable(HuffmanTable_B7, | 779 Table_B7.reset(new CJBig2_HuffmanTable(HuffmanTable_B7, |
| 780 FX_ArraySize(HuffmanTable_B7), | 780 FX_ArraySize(HuffmanTable_B7), |
| 781 HuffmanTable_HTOOB_B7)); | 781 HuffmanTable_HTOOB_B7)); |
| 782 pTRD->SBHUFFFS = Table_B7.get(); | 782 pTRD->SBHUFFFS = Table_B7.get(); |
| 783 } else { | 783 } else { |
| 784 CJBig2_Segment* pSeg = | 784 CJBig2_Segment* pSeg = |
| 785 findReferredSegmentByTypeAndIndex(pSegment, 53, ++nIndex); | 785 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); |
| 786 if (!pSeg) | 786 if (!pSeg) |
| 787 return JBIG2_ERROR_FATAL; | 787 return JBIG2_ERROR_FATAL; |
| 788 pTRD->SBHUFFFS = pSeg->m_Result.ht; | 788 pTRD->SBHUFFFS = pSeg->m_Result.ht; |
| 789 } | 789 } |
| 790 if (cSBHUFFDS == 0) { | 790 if (cSBHUFFDS == 0) { |
| 791 Table_B8.reset(new CJBig2_HuffmanTable(HuffmanTable_B8, | 791 Table_B8.reset(new CJBig2_HuffmanTable(HuffmanTable_B8, |
| 792 FX_ArraySize(HuffmanTable_B8), | 792 FX_ArraySize(HuffmanTable_B8), |
| 793 HuffmanTable_HTOOB_B8)); | 793 HuffmanTable_HTOOB_B8)); |
| 794 pTRD->SBHUFFDS = Table_B8.get(); | 794 pTRD->SBHUFFDS = Table_B8.get(); |
| 795 } else if (cSBHUFFDS == 1) { | 795 } else if (cSBHUFFDS == 1) { |
| 796 Table_B9.reset(new CJBig2_HuffmanTable(HuffmanTable_B9, | 796 Table_B9.reset(new CJBig2_HuffmanTable(HuffmanTable_B9, |
| 797 FX_ArraySize(HuffmanTable_B9), | 797 FX_ArraySize(HuffmanTable_B9), |
| 798 HuffmanTable_HTOOB_B9)); | 798 HuffmanTable_HTOOB_B9)); |
| 799 pTRD->SBHUFFDS = Table_B9.get(); | 799 pTRD->SBHUFFDS = Table_B9.get(); |
| 800 } else if (cSBHUFFDS == 2) { | 800 } else if (cSBHUFFDS == 2) { |
| 801 Table_B10.reset(new CJBig2_HuffmanTable(HuffmanTable_B10, | 801 Table_B10.reset(new CJBig2_HuffmanTable(HuffmanTable_B10, |
| 802 FX_ArraySize(HuffmanTable_B10), | 802 FX_ArraySize(HuffmanTable_B10), |
| 803 HuffmanTable_HTOOB_B10)); | 803 HuffmanTable_HTOOB_B10)); |
| 804 pTRD->SBHUFFDS = Table_B10.get(); | 804 pTRD->SBHUFFDS = Table_B10.get(); |
| 805 } else { | 805 } else { |
| 806 CJBig2_Segment* pSeg = | 806 CJBig2_Segment* pSeg = |
| 807 findReferredSegmentByTypeAndIndex(pSegment, 53, ++nIndex); | 807 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); |
| 808 if (!pSeg) | 808 if (!pSeg) |
| 809 return JBIG2_ERROR_FATAL; | 809 return JBIG2_ERROR_FATAL; |
| 810 pTRD->SBHUFFDS = pSeg->m_Result.ht; | 810 pTRD->SBHUFFDS = pSeg->m_Result.ht; |
| 811 } | 811 } |
| 812 if (cSBHUFFDT == 0) { | 812 if (cSBHUFFDT == 0) { |
| 813 Table_B11.reset(new CJBig2_HuffmanTable(HuffmanTable_B11, | 813 Table_B11.reset(new CJBig2_HuffmanTable(HuffmanTable_B11, |
| 814 FX_ArraySize(HuffmanTable_B11), | 814 FX_ArraySize(HuffmanTable_B11), |
| 815 HuffmanTable_HTOOB_B11)); | 815 HuffmanTable_HTOOB_B11)); |
| 816 pTRD->SBHUFFDT = Table_B11.get(); | 816 pTRD->SBHUFFDT = Table_B11.get(); |
| 817 } else if (cSBHUFFDT == 1) { | 817 } else if (cSBHUFFDT == 1) { |
| 818 Table_B12.reset(new CJBig2_HuffmanTable(HuffmanTable_B12, | 818 Table_B12.reset(new CJBig2_HuffmanTable(HuffmanTable_B12, |
| 819 FX_ArraySize(HuffmanTable_B12), | 819 FX_ArraySize(HuffmanTable_B12), |
| 820 HuffmanTable_HTOOB_B12)); | 820 HuffmanTable_HTOOB_B12)); |
| 821 pTRD->SBHUFFDT = Table_B12.get(); | 821 pTRD->SBHUFFDT = Table_B12.get(); |
| 822 } else if (cSBHUFFDT == 2) { | 822 } else if (cSBHUFFDT == 2) { |
| 823 Table_B13.reset(new CJBig2_HuffmanTable(HuffmanTable_B13, | 823 Table_B13.reset(new CJBig2_HuffmanTable(HuffmanTable_B13, |
| 824 FX_ArraySize(HuffmanTable_B13), | 824 FX_ArraySize(HuffmanTable_B13), |
| 825 HuffmanTable_HTOOB_B13)); | 825 HuffmanTable_HTOOB_B13)); |
| 826 pTRD->SBHUFFDT = Table_B13.get(); | 826 pTRD->SBHUFFDT = Table_B13.get(); |
| 827 } else { | 827 } else { |
| 828 CJBig2_Segment* pSeg = | 828 CJBig2_Segment* pSeg = |
| 829 findReferredSegmentByTypeAndIndex(pSegment, 53, ++nIndex); | 829 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); |
| 830 if (!pSeg) | 830 if (!pSeg) |
| 831 return JBIG2_ERROR_FATAL; | 831 return JBIG2_ERROR_FATAL; |
| 832 pTRD->SBHUFFDT = pSeg->m_Result.ht; | 832 pTRD->SBHUFFDT = pSeg->m_Result.ht; |
| 833 } | 833 } |
| 834 if (cSBHUFFRDW == 0) { | 834 if (cSBHUFFRDW == 0) { |
| 835 Table_B14.reset(new CJBig2_HuffmanTable(HuffmanTable_B14, | 835 Table_B14.reset(new CJBig2_HuffmanTable(HuffmanTable_B14, |
| 836 FX_ArraySize(HuffmanTable_B14), | 836 FX_ArraySize(HuffmanTable_B14), |
| 837 HuffmanTable_HTOOB_B14)); | 837 HuffmanTable_HTOOB_B14)); |
| 838 pTRD->SBHUFFRDW = Table_B14.get(); | 838 pTRD->SBHUFFRDW = Table_B14.get(); |
| 839 } else if (cSBHUFFRDW == 1) { | 839 } else if (cSBHUFFRDW == 1) { |
| 840 Table_B15.reset(new CJBig2_HuffmanTable(HuffmanTable_B15, | 840 Table_B15.reset(new CJBig2_HuffmanTable(HuffmanTable_B15, |
| 841 FX_ArraySize(HuffmanTable_B15), | 841 FX_ArraySize(HuffmanTable_B15), |
| 842 HuffmanTable_HTOOB_B15)); | 842 HuffmanTable_HTOOB_B15)); |
| 843 pTRD->SBHUFFRDW = Table_B15.get(); | 843 pTRD->SBHUFFRDW = Table_B15.get(); |
| 844 } else { | 844 } else { |
| 845 CJBig2_Segment* pSeg = | 845 CJBig2_Segment* pSeg = |
| 846 findReferredSegmentByTypeAndIndex(pSegment, 53, ++nIndex); | 846 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); |
| 847 if (!pSeg) | 847 if (!pSeg) |
| 848 return JBIG2_ERROR_FATAL; | 848 return JBIG2_ERROR_FATAL; |
| 849 pTRD->SBHUFFRDW = pSeg->m_Result.ht; | 849 pTRD->SBHUFFRDW = pSeg->m_Result.ht; |
| 850 } | 850 } |
| 851 if (cSBHUFFRDH == 0) { | 851 if (cSBHUFFRDH == 0) { |
| 852 if (!Table_B14) { | 852 if (!Table_B14) { |
| 853 Table_B14.reset(new CJBig2_HuffmanTable(HuffmanTable_B14, | 853 Table_B14.reset(new CJBig2_HuffmanTable(HuffmanTable_B14, |
| 854 FX_ArraySize(HuffmanTable_B14), | 854 FX_ArraySize(HuffmanTable_B14), |
| 855 HuffmanTable_HTOOB_B14)); | 855 HuffmanTable_HTOOB_B14)); |
| 856 } | 856 } |
| 857 pTRD->SBHUFFRDH = Table_B14.get(); | 857 pTRD->SBHUFFRDH = Table_B14.get(); |
| 858 } else if (cSBHUFFRDH == 1) { | 858 } else if (cSBHUFFRDH == 1) { |
| 859 if (!Table_B15) { | 859 if (!Table_B15) { |
| 860 Table_B15.reset(new CJBig2_HuffmanTable(HuffmanTable_B15, | 860 Table_B15.reset(new CJBig2_HuffmanTable(HuffmanTable_B15, |
| 861 FX_ArraySize(HuffmanTable_B15), | 861 FX_ArraySize(HuffmanTable_B15), |
| 862 HuffmanTable_HTOOB_B15)); | 862 HuffmanTable_HTOOB_B15)); |
| 863 } | 863 } |
| 864 pTRD->SBHUFFRDH = Table_B15.get(); | 864 pTRD->SBHUFFRDH = Table_B15.get(); |
| 865 } else { | 865 } else { |
| 866 CJBig2_Segment* pSeg = | 866 CJBig2_Segment* pSeg = |
| 867 findReferredSegmentByTypeAndIndex(pSegment, 53, ++nIndex); | 867 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); |
| 868 if (!pSeg) | 868 if (!pSeg) |
| 869 return JBIG2_ERROR_FATAL; | 869 return JBIG2_ERROR_FATAL; |
| 870 pTRD->SBHUFFRDH = pSeg->m_Result.ht; | 870 pTRD->SBHUFFRDH = pSeg->m_Result.ht; |
| 871 } | 871 } |
| 872 if (cSBHUFFRDX == 0) { | 872 if (cSBHUFFRDX == 0) { |
| 873 if (!Table_B14) { | 873 if (!Table_B14) { |
| 874 Table_B14.reset(new CJBig2_HuffmanTable(HuffmanTable_B14, | 874 Table_B14.reset(new CJBig2_HuffmanTable(HuffmanTable_B14, |
| 875 FX_ArraySize(HuffmanTable_B14), | 875 FX_ArraySize(HuffmanTable_B14), |
| 876 HuffmanTable_HTOOB_B14)); | 876 HuffmanTable_HTOOB_B14)); |
| 877 } | 877 } |
| 878 pTRD->SBHUFFRDX = Table_B14.get(); | 878 pTRD->SBHUFFRDX = Table_B14.get(); |
| 879 } else if (cSBHUFFRDX == 1) { | 879 } else if (cSBHUFFRDX == 1) { |
| 880 if (!Table_B15) { | 880 if (!Table_B15) { |
| 881 Table_B15.reset(new CJBig2_HuffmanTable(HuffmanTable_B15, | 881 Table_B15.reset(new CJBig2_HuffmanTable(HuffmanTable_B15, |
| 882 FX_ArraySize(HuffmanTable_B15), | 882 FX_ArraySize(HuffmanTable_B15), |
| 883 HuffmanTable_HTOOB_B15)); | 883 HuffmanTable_HTOOB_B15)); |
| 884 } | 884 } |
| 885 pTRD->SBHUFFRDX = Table_B15.get(); | 885 pTRD->SBHUFFRDX = Table_B15.get(); |
| 886 } else { | 886 } else { |
| 887 CJBig2_Segment* pSeg = | 887 CJBig2_Segment* pSeg = |
| 888 findReferredSegmentByTypeAndIndex(pSegment, 53, ++nIndex); | 888 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); |
| 889 if (!pSeg) | 889 if (!pSeg) |
| 890 return JBIG2_ERROR_FATAL; | 890 return JBIG2_ERROR_FATAL; |
| 891 pTRD->SBHUFFRDX = pSeg->m_Result.ht; | 891 pTRD->SBHUFFRDX = pSeg->m_Result.ht; |
| 892 } | 892 } |
| 893 if (cSBHUFFRDY == 0) { | 893 if (cSBHUFFRDY == 0) { |
| 894 if (!Table_B14) { | 894 if (!Table_B14) { |
| 895 Table_B14.reset(new CJBig2_HuffmanTable(HuffmanTable_B14, | 895 Table_B14.reset(new CJBig2_HuffmanTable(HuffmanTable_B14, |
| 896 FX_ArraySize(HuffmanTable_B14), | 896 FX_ArraySize(HuffmanTable_B14), |
| 897 HuffmanTable_HTOOB_B14)); | 897 HuffmanTable_HTOOB_B14)); |
| 898 } | 898 } |
| 899 pTRD->SBHUFFRDY = Table_B14.get(); | 899 pTRD->SBHUFFRDY = Table_B14.get(); |
| 900 } else if (cSBHUFFRDY == 1) { | 900 } else if (cSBHUFFRDY == 1) { |
| 901 if (!Table_B15) { | 901 if (!Table_B15) { |
| 902 Table_B15.reset(new CJBig2_HuffmanTable(HuffmanTable_B15, | 902 Table_B15.reset(new CJBig2_HuffmanTable(HuffmanTable_B15, |
| 903 FX_ArraySize(HuffmanTable_B15), | 903 FX_ArraySize(HuffmanTable_B15), |
| 904 HuffmanTable_HTOOB_B15)); | 904 HuffmanTable_HTOOB_B15)); |
| 905 } | 905 } |
| 906 pTRD->SBHUFFRDY = Table_B15.get(); | 906 pTRD->SBHUFFRDY = Table_B15.get(); |
| 907 } else { | 907 } else { |
| 908 CJBig2_Segment* pSeg = | 908 CJBig2_Segment* pSeg = |
| 909 findReferredSegmentByTypeAndIndex(pSegment, 53, ++nIndex); | 909 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); |
| 910 if (!pSeg) | 910 if (!pSeg) |
| 911 return JBIG2_ERROR_FATAL; | 911 return JBIG2_ERROR_FATAL; |
| 912 pTRD->SBHUFFRDY = pSeg->m_Result.ht; | 912 pTRD->SBHUFFRDY = pSeg->m_Result.ht; |
| 913 } | 913 } |
| 914 if (cSBHUFFRSIZE == 0) { | 914 if (cSBHUFFRSIZE == 0) { |
| 915 Table_B1.reset(new CJBig2_HuffmanTable(HuffmanTable_B1, | 915 Table_B1.reset(new CJBig2_HuffmanTable(HuffmanTable_B1, |
| 916 FX_ArraySize(HuffmanTable_B1), | 916 FX_ArraySize(HuffmanTable_B1), |
| 917 HuffmanTable_HTOOB_B1)); | 917 HuffmanTable_HTOOB_B1)); |
| 918 pTRD->SBHUFFRSIZE = Table_B1.get(); | 918 pTRD->SBHUFFRSIZE = Table_B1.get(); |
| 919 } else { | 919 } else { |
| 920 CJBig2_Segment* pSeg = | 920 CJBig2_Segment* pSeg = |
| 921 findReferredSegmentByTypeAndIndex(pSegment, 53, ++nIndex); | 921 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); |
| 922 if (!pSeg) | 922 if (!pSeg) |
| 923 return JBIG2_ERROR_FATAL; | 923 return JBIG2_ERROR_FATAL; |
| 924 pTRD->SBHUFFRSIZE = pSeg->m_Result.ht; | 924 pTRD->SBHUFFRSIZE = pSeg->m_Result.ht; |
| 925 } | 925 } |
| 926 } | 926 } |
| 927 nonstd::unique_ptr<JBig2ArithCtx, FxFreeDeleter> grContext; | 927 nonstd::unique_ptr<JBig2ArithCtx, FxFreeDeleter> grContext; |
| 928 if (pTRD->SBREFINE == 1) { | 928 if (pTRD->SBREFINE == 1) { |
| 929 const size_t size = GetRefAggContextSize(pTRD->SBRTEMPLATE); | 929 const size_t size = GetRefAggContextSize(pTRD->SBRTEMPLATE); |
| 930 grContext.reset(FX_Alloc(JBig2ArithCtx, size)); | 930 grContext.reset(FX_Alloc(JBig2ArithCtx, size)); |
| 931 JBIG2_memset(grContext.get(), 0, sizeof(JBig2ArithCtx) * size); | 931 JBIG2_memset(grContext.get(), 0, sizeof(JBig2ArithCtx) * size); |
| (...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1420 SBSYMCODES[CURTEMP].code = CURCODE; | 1420 SBSYMCODES[CURTEMP].code = CURCODE; |
| 1421 CURCODE = CURCODE + 1; | 1421 CURCODE = CURCODE + 1; |
| 1422 } | 1422 } |
| 1423 CURTEMP = CURTEMP + 1; | 1423 CURTEMP = CURTEMP + 1; |
| 1424 } | 1424 } |
| 1425 CURLEN = CURLEN + 1; | 1425 CURLEN = CURLEN + 1; |
| 1426 } | 1426 } |
| 1427 FX_Free(LENCOUNT); | 1427 FX_Free(LENCOUNT); |
| 1428 FX_Free(FIRSTCODE); | 1428 FX_Free(FIRSTCODE); |
| 1429 } | 1429 } |
| OLD | NEW |