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

Side by Side Diff: core/fxcodec/jbig2/JBig2_Context.cpp

Issue 1814233005: Make a few more const tables smaller. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: format Created 4 years, 9 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/fpdfdoc/doc_vt.cpp ('k') | core/fxcodec/jbig2/JBig2_HuffmanTable_Standard.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 "core/fxcodec/jbig2/JBig2_Context.h" 7 #include "core/fxcodec/jbig2/JBig2_Context.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <list> 10 #include <list>
(...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after
506 std::unique_ptr<CJBig2_HuffmanTable> Table_B2; 506 std::unique_ptr<CJBig2_HuffmanTable> Table_B2;
507 std::unique_ptr<CJBig2_HuffmanTable> Table_B3; 507 std::unique_ptr<CJBig2_HuffmanTable> Table_B3;
508 std::unique_ptr<CJBig2_HuffmanTable> Table_B4; 508 std::unique_ptr<CJBig2_HuffmanTable> Table_B4;
509 std::unique_ptr<CJBig2_HuffmanTable> Table_B5; 509 std::unique_ptr<CJBig2_HuffmanTable> Table_B5;
510 if (pSymbolDictDecoder->SDHUFF == 1) { 510 if (pSymbolDictDecoder->SDHUFF == 1) {
511 if (cSDHUFFDH == 2 || cSDHUFFDW == 2) 511 if (cSDHUFFDH == 2 || cSDHUFFDW == 2)
512 return JBIG2_ERROR_FATAL; 512 return JBIG2_ERROR_FATAL;
513 513
514 int32_t nIndex = 0; 514 int32_t nIndex = 0;
515 if (cSDHUFFDH == 0) { 515 if (cSDHUFFDH == 0) {
516 Table_B4.reset(new CJBig2_HuffmanTable(HuffmanTable_B4, 516 Table_B4.reset(new CJBig2_HuffmanTable(
517 FX_ArraySize(HuffmanTable_B4), 517 HuffmanTable_B4, HuffmanTable_B4_Size, HuffmanTable_HTOOB_B4));
518 HuffmanTable_HTOOB_B4));
519 pSymbolDictDecoder->SDHUFFDH = Table_B4.get(); 518 pSymbolDictDecoder->SDHUFFDH = Table_B4.get();
520 } else if (cSDHUFFDH == 1) { 519 } else if (cSDHUFFDH == 1) {
521 Table_B5.reset(new CJBig2_HuffmanTable(HuffmanTable_B5, 520 Table_B5.reset(new CJBig2_HuffmanTable(
522 FX_ArraySize(HuffmanTable_B5), 521 HuffmanTable_B5, HuffmanTable_B5_Size, HuffmanTable_HTOOB_B5));
523 HuffmanTable_HTOOB_B5));
524 pSymbolDictDecoder->SDHUFFDH = Table_B5.get(); 522 pSymbolDictDecoder->SDHUFFDH = Table_B5.get();
525 } else { 523 } else {
526 CJBig2_Segment* pSeg = 524 CJBig2_Segment* pSeg =
527 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); 525 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
528 if (!pSeg) 526 if (!pSeg)
529 return JBIG2_ERROR_FATAL; 527 return JBIG2_ERROR_FATAL;
530 pSymbolDictDecoder->SDHUFFDH = pSeg->m_Result.ht; 528 pSymbolDictDecoder->SDHUFFDH = pSeg->m_Result.ht;
531 } 529 }
532 if (cSDHUFFDW == 0) { 530 if (cSDHUFFDW == 0) {
533 Table_B2.reset(new CJBig2_HuffmanTable(HuffmanTable_B2, 531 Table_B2.reset(new CJBig2_HuffmanTable(
534 FX_ArraySize(HuffmanTable_B2), 532 HuffmanTable_B2, HuffmanTable_B2_Size, HuffmanTable_HTOOB_B2));
535 HuffmanTable_HTOOB_B2));
536 pSymbolDictDecoder->SDHUFFDW = Table_B2.get(); 533 pSymbolDictDecoder->SDHUFFDW = Table_B2.get();
537 } else if (cSDHUFFDW == 1) { 534 } else if (cSDHUFFDW == 1) {
538 Table_B3.reset(new CJBig2_HuffmanTable(HuffmanTable_B3, 535 Table_B3.reset(new CJBig2_HuffmanTable(
539 FX_ArraySize(HuffmanTable_B3), 536 HuffmanTable_B3, HuffmanTable_B3_Size, HuffmanTable_HTOOB_B3));
540 HuffmanTable_HTOOB_B3));
541 pSymbolDictDecoder->SDHUFFDW = Table_B3.get(); 537 pSymbolDictDecoder->SDHUFFDW = Table_B3.get();
542 } else { 538 } else {
543 CJBig2_Segment* pSeg = 539 CJBig2_Segment* pSeg =
544 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); 540 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
545 if (!pSeg) 541 if (!pSeg)
546 return JBIG2_ERROR_FATAL; 542 return JBIG2_ERROR_FATAL;
547 pSymbolDictDecoder->SDHUFFDW = pSeg->m_Result.ht; 543 pSymbolDictDecoder->SDHUFFDW = pSeg->m_Result.ht;
548 } 544 }
549 if (cSDHUFFBMSIZE == 0) { 545 if (cSDHUFFBMSIZE == 0) {
550 Table_B1.reset(new CJBig2_HuffmanTable(HuffmanTable_B1, 546 Table_B1.reset(new CJBig2_HuffmanTable(
551 FX_ArraySize(HuffmanTable_B1), 547 HuffmanTable_B1, HuffmanTable_B1_Size, HuffmanTable_HTOOB_B1));
552 HuffmanTable_HTOOB_B1));
553 pSymbolDictDecoder->SDHUFFBMSIZE = Table_B1.get(); 548 pSymbolDictDecoder->SDHUFFBMSIZE = Table_B1.get();
554 } else { 549 } else {
555 CJBig2_Segment* pSeg = 550 CJBig2_Segment* pSeg =
556 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); 551 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
557 if (!pSeg) 552 if (!pSeg)
558 return JBIG2_ERROR_FATAL; 553 return JBIG2_ERROR_FATAL;
559 pSymbolDictDecoder->SDHUFFBMSIZE = pSeg->m_Result.ht; 554 pSymbolDictDecoder->SDHUFFBMSIZE = pSeg->m_Result.ht;
560 } 555 }
561 if (pSymbolDictDecoder->SDREFAGG == 1) { 556 if (pSymbolDictDecoder->SDREFAGG == 1) {
562 if (cSDHUFFAGGINST == 0) { 557 if (cSDHUFFAGGINST == 0) {
563 if (!Table_B1) { 558 if (!Table_B1) {
564 Table_B1.reset(new CJBig2_HuffmanTable(HuffmanTable_B1, 559 Table_B1.reset(new CJBig2_HuffmanTable(
565 FX_ArraySize(HuffmanTable_B1), 560 HuffmanTable_B1, HuffmanTable_B1_Size, HuffmanTable_HTOOB_B1));
566 HuffmanTable_HTOOB_B1));
567 } 561 }
568 pSymbolDictDecoder->SDHUFFAGGINST = Table_B1.get(); 562 pSymbolDictDecoder->SDHUFFAGGINST = Table_B1.get();
569 } else { 563 } else {
570 CJBig2_Segment* pSeg = 564 CJBig2_Segment* pSeg =
571 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); 565 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
572 if (!pSeg) 566 if (!pSeg)
573 return JBIG2_ERROR_FATAL; 567 return JBIG2_ERROR_FATAL;
574 pSymbolDictDecoder->SDHUFFAGGINST = pSeg->m_Result.ht; 568 pSymbolDictDecoder->SDHUFFAGGINST = pSeg->m_Result.ht;
575 } 569 }
576 } 570 }
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
774 std::unique_ptr<CJBig2_HuffmanTable> Table_B13; 768 std::unique_ptr<CJBig2_HuffmanTable> Table_B13;
775 std::unique_ptr<CJBig2_HuffmanTable> Table_B14; 769 std::unique_ptr<CJBig2_HuffmanTable> Table_B14;
776 std::unique_ptr<CJBig2_HuffmanTable> Table_B15; 770 std::unique_ptr<CJBig2_HuffmanTable> Table_B15;
777 if (pTRD->SBHUFF == 1) { 771 if (pTRD->SBHUFF == 1) {
778 if (cSBHUFFFS == 2 || cSBHUFFRDW == 2 || cSBHUFFRDH == 2 || 772 if (cSBHUFFFS == 2 || cSBHUFFRDW == 2 || cSBHUFFRDH == 2 ||
779 cSBHUFFRDX == 2 || cSBHUFFRDY == 2) { 773 cSBHUFFRDX == 2 || cSBHUFFRDY == 2) {
780 return JBIG2_ERROR_FATAL; 774 return JBIG2_ERROR_FATAL;
781 } 775 }
782 int32_t nIndex = 0; 776 int32_t nIndex = 0;
783 if (cSBHUFFFS == 0) { 777 if (cSBHUFFFS == 0) {
784 Table_B6.reset(new CJBig2_HuffmanTable(HuffmanTable_B6, 778 Table_B6.reset(new CJBig2_HuffmanTable(
785 FX_ArraySize(HuffmanTable_B6), 779 HuffmanTable_B6, HuffmanTable_B6_Size, HuffmanTable_HTOOB_B6));
786 HuffmanTable_HTOOB_B6));
787 pTRD->SBHUFFFS = Table_B6.get(); 780 pTRD->SBHUFFFS = Table_B6.get();
788 } else if (cSBHUFFFS == 1) { 781 } else if (cSBHUFFFS == 1) {
789 Table_B7.reset(new CJBig2_HuffmanTable(HuffmanTable_B7, 782 Table_B7.reset(new CJBig2_HuffmanTable(
790 FX_ArraySize(HuffmanTable_B7), 783 HuffmanTable_B7, HuffmanTable_B7_Size, HuffmanTable_HTOOB_B7));
791 HuffmanTable_HTOOB_B7));
792 pTRD->SBHUFFFS = Table_B7.get(); 784 pTRD->SBHUFFFS = Table_B7.get();
793 } else { 785 } else {
794 CJBig2_Segment* pSeg = 786 CJBig2_Segment* pSeg =
795 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); 787 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
796 if (!pSeg) 788 if (!pSeg)
797 return JBIG2_ERROR_FATAL; 789 return JBIG2_ERROR_FATAL;
798 pTRD->SBHUFFFS = pSeg->m_Result.ht; 790 pTRD->SBHUFFFS = pSeg->m_Result.ht;
799 } 791 }
800 if (cSBHUFFDS == 0) { 792 if (cSBHUFFDS == 0) {
801 Table_B8.reset(new CJBig2_HuffmanTable(HuffmanTable_B8, 793 Table_B8.reset(new CJBig2_HuffmanTable(
802 FX_ArraySize(HuffmanTable_B8), 794 HuffmanTable_B8, HuffmanTable_B8_Size, HuffmanTable_HTOOB_B8));
803 HuffmanTable_HTOOB_B8));
804 pTRD->SBHUFFDS = Table_B8.get(); 795 pTRD->SBHUFFDS = Table_B8.get();
805 } else if (cSBHUFFDS == 1) { 796 } else if (cSBHUFFDS == 1) {
806 Table_B9.reset(new CJBig2_HuffmanTable(HuffmanTable_B9, 797 Table_B9.reset(new CJBig2_HuffmanTable(
807 FX_ArraySize(HuffmanTable_B9), 798 HuffmanTable_B9, HuffmanTable_B9_Size, HuffmanTable_HTOOB_B9));
808 HuffmanTable_HTOOB_B9));
809 pTRD->SBHUFFDS = Table_B9.get(); 799 pTRD->SBHUFFDS = Table_B9.get();
810 } else if (cSBHUFFDS == 2) { 800 } else if (cSBHUFFDS == 2) {
811 Table_B10.reset(new CJBig2_HuffmanTable(HuffmanTable_B10, 801 Table_B10.reset(new CJBig2_HuffmanTable(
812 FX_ArraySize(HuffmanTable_B10), 802 HuffmanTable_B10, HuffmanTable_B10_Size, HuffmanTable_HTOOB_B10));
813 HuffmanTable_HTOOB_B10));
814 pTRD->SBHUFFDS = Table_B10.get(); 803 pTRD->SBHUFFDS = Table_B10.get();
815 } else { 804 } else {
816 CJBig2_Segment* pSeg = 805 CJBig2_Segment* pSeg =
817 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); 806 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
818 if (!pSeg) 807 if (!pSeg)
819 return JBIG2_ERROR_FATAL; 808 return JBIG2_ERROR_FATAL;
820 pTRD->SBHUFFDS = pSeg->m_Result.ht; 809 pTRD->SBHUFFDS = pSeg->m_Result.ht;
821 } 810 }
822 if (cSBHUFFDT == 0) { 811 if (cSBHUFFDT == 0) {
823 Table_B11.reset(new CJBig2_HuffmanTable(HuffmanTable_B11, 812 Table_B11.reset(new CJBig2_HuffmanTable(
824 FX_ArraySize(HuffmanTable_B11), 813 HuffmanTable_B11, HuffmanTable_B11_Size, HuffmanTable_HTOOB_B11));
825 HuffmanTable_HTOOB_B11));
826 pTRD->SBHUFFDT = Table_B11.get(); 814 pTRD->SBHUFFDT = Table_B11.get();
827 } else if (cSBHUFFDT == 1) { 815 } else if (cSBHUFFDT == 1) {
828 Table_B12.reset(new CJBig2_HuffmanTable(HuffmanTable_B12, 816 Table_B12.reset(new CJBig2_HuffmanTable(
829 FX_ArraySize(HuffmanTable_B12), 817 HuffmanTable_B12, HuffmanTable_B12_Size, HuffmanTable_HTOOB_B12));
830 HuffmanTable_HTOOB_B12));
831 pTRD->SBHUFFDT = Table_B12.get(); 818 pTRD->SBHUFFDT = Table_B12.get();
832 } else if (cSBHUFFDT == 2) { 819 } else if (cSBHUFFDT == 2) {
833 Table_B13.reset(new CJBig2_HuffmanTable(HuffmanTable_B13, 820 Table_B13.reset(new CJBig2_HuffmanTable(
834 FX_ArraySize(HuffmanTable_B13), 821 HuffmanTable_B13, HuffmanTable_B13_Size, HuffmanTable_HTOOB_B13));
835 HuffmanTable_HTOOB_B13));
836 pTRD->SBHUFFDT = Table_B13.get(); 822 pTRD->SBHUFFDT = Table_B13.get();
837 } else { 823 } else {
838 CJBig2_Segment* pSeg = 824 CJBig2_Segment* pSeg =
839 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); 825 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
840 if (!pSeg) 826 if (!pSeg)
841 return JBIG2_ERROR_FATAL; 827 return JBIG2_ERROR_FATAL;
842 pTRD->SBHUFFDT = pSeg->m_Result.ht; 828 pTRD->SBHUFFDT = pSeg->m_Result.ht;
843 } 829 }
844 if (cSBHUFFRDW == 0) { 830 if (cSBHUFFRDW == 0) {
845 Table_B14.reset(new CJBig2_HuffmanTable(HuffmanTable_B14, 831 Table_B14.reset(new CJBig2_HuffmanTable(
846 FX_ArraySize(HuffmanTable_B14), 832 HuffmanTable_B14, HuffmanTable_B14_Size, HuffmanTable_HTOOB_B14));
847 HuffmanTable_HTOOB_B14));
848 pTRD->SBHUFFRDW = Table_B14.get(); 833 pTRD->SBHUFFRDW = Table_B14.get();
849 } else if (cSBHUFFRDW == 1) { 834 } else if (cSBHUFFRDW == 1) {
850 Table_B15.reset(new CJBig2_HuffmanTable(HuffmanTable_B15, 835 Table_B15.reset(new CJBig2_HuffmanTable(
851 FX_ArraySize(HuffmanTable_B15), 836 HuffmanTable_B15, HuffmanTable_B15_Size, HuffmanTable_HTOOB_B15));
852 HuffmanTable_HTOOB_B15));
853 pTRD->SBHUFFRDW = Table_B15.get(); 837 pTRD->SBHUFFRDW = Table_B15.get();
854 } else { 838 } else {
855 CJBig2_Segment* pSeg = 839 CJBig2_Segment* pSeg =
856 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); 840 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
857 if (!pSeg) 841 if (!pSeg)
858 return JBIG2_ERROR_FATAL; 842 return JBIG2_ERROR_FATAL;
859 pTRD->SBHUFFRDW = pSeg->m_Result.ht; 843 pTRD->SBHUFFRDW = pSeg->m_Result.ht;
860 } 844 }
861 if (cSBHUFFRDH == 0) { 845 if (cSBHUFFRDH == 0) {
862 if (!Table_B14) { 846 if (!Table_B14) {
863 Table_B14.reset(new CJBig2_HuffmanTable(HuffmanTable_B14, 847 Table_B14.reset(new CJBig2_HuffmanTable(
864 FX_ArraySize(HuffmanTable_B14), 848 HuffmanTable_B14, HuffmanTable_B14_Size, HuffmanTable_HTOOB_B14));
865 HuffmanTable_HTOOB_B14));
866 } 849 }
867 pTRD->SBHUFFRDH = Table_B14.get(); 850 pTRD->SBHUFFRDH = Table_B14.get();
868 } else if (cSBHUFFRDH == 1) { 851 } else if (cSBHUFFRDH == 1) {
869 if (!Table_B15) { 852 if (!Table_B15) {
870 Table_B15.reset(new CJBig2_HuffmanTable(HuffmanTable_B15, 853 Table_B15.reset(new CJBig2_HuffmanTable(
871 FX_ArraySize(HuffmanTable_B15), 854 HuffmanTable_B15, HuffmanTable_B15_Size, HuffmanTable_HTOOB_B15));
872 HuffmanTable_HTOOB_B15));
873 } 855 }
874 pTRD->SBHUFFRDH = Table_B15.get(); 856 pTRD->SBHUFFRDH = Table_B15.get();
875 } else { 857 } else {
876 CJBig2_Segment* pSeg = 858 CJBig2_Segment* pSeg =
877 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); 859 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
878 if (!pSeg) 860 if (!pSeg)
879 return JBIG2_ERROR_FATAL; 861 return JBIG2_ERROR_FATAL;
880 pTRD->SBHUFFRDH = pSeg->m_Result.ht; 862 pTRD->SBHUFFRDH = pSeg->m_Result.ht;
881 } 863 }
882 if (cSBHUFFRDX == 0) { 864 if (cSBHUFFRDX == 0) {
883 if (!Table_B14) { 865 if (!Table_B14) {
884 Table_B14.reset(new CJBig2_HuffmanTable(HuffmanTable_B14, 866 Table_B14.reset(new CJBig2_HuffmanTable(
885 FX_ArraySize(HuffmanTable_B14), 867 HuffmanTable_B14, HuffmanTable_B14_Size, HuffmanTable_HTOOB_B14));
886 HuffmanTable_HTOOB_B14));
887 } 868 }
888 pTRD->SBHUFFRDX = Table_B14.get(); 869 pTRD->SBHUFFRDX = Table_B14.get();
889 } else if (cSBHUFFRDX == 1) { 870 } else if (cSBHUFFRDX == 1) {
890 if (!Table_B15) { 871 if (!Table_B15) {
891 Table_B15.reset(new CJBig2_HuffmanTable(HuffmanTable_B15, 872 Table_B15.reset(new CJBig2_HuffmanTable(
892 FX_ArraySize(HuffmanTable_B15), 873 HuffmanTable_B15, HuffmanTable_B15_Size, HuffmanTable_HTOOB_B15));
893 HuffmanTable_HTOOB_B15));
894 } 874 }
895 pTRD->SBHUFFRDX = Table_B15.get(); 875 pTRD->SBHUFFRDX = Table_B15.get();
896 } else { 876 } else {
897 CJBig2_Segment* pSeg = 877 CJBig2_Segment* pSeg =
898 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); 878 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
899 if (!pSeg) 879 if (!pSeg)
900 return JBIG2_ERROR_FATAL; 880 return JBIG2_ERROR_FATAL;
901 pTRD->SBHUFFRDX = pSeg->m_Result.ht; 881 pTRD->SBHUFFRDX = pSeg->m_Result.ht;
902 } 882 }
903 if (cSBHUFFRDY == 0) { 883 if (cSBHUFFRDY == 0) {
904 if (!Table_B14) { 884 if (!Table_B14) {
905 Table_B14.reset(new CJBig2_HuffmanTable(HuffmanTable_B14, 885 Table_B14.reset(new CJBig2_HuffmanTable(
906 FX_ArraySize(HuffmanTable_B14), 886 HuffmanTable_B14, HuffmanTable_B14_Size, HuffmanTable_HTOOB_B14));
907 HuffmanTable_HTOOB_B14));
908 } 887 }
909 pTRD->SBHUFFRDY = Table_B14.get(); 888 pTRD->SBHUFFRDY = Table_B14.get();
910 } else if (cSBHUFFRDY == 1) { 889 } else if (cSBHUFFRDY == 1) {
911 if (!Table_B15) { 890 if (!Table_B15) {
912 Table_B15.reset(new CJBig2_HuffmanTable(HuffmanTable_B15, 891 Table_B15.reset(new CJBig2_HuffmanTable(
913 FX_ArraySize(HuffmanTable_B15), 892 HuffmanTable_B15, HuffmanTable_B15_Size, HuffmanTable_HTOOB_B15));
914 HuffmanTable_HTOOB_B15));
915 } 893 }
916 pTRD->SBHUFFRDY = Table_B15.get(); 894 pTRD->SBHUFFRDY = Table_B15.get();
917 } else { 895 } else {
918 CJBig2_Segment* pSeg = 896 CJBig2_Segment* pSeg =
919 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); 897 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
920 if (!pSeg) 898 if (!pSeg)
921 return JBIG2_ERROR_FATAL; 899 return JBIG2_ERROR_FATAL;
922 pTRD->SBHUFFRDY = pSeg->m_Result.ht; 900 pTRD->SBHUFFRDY = pSeg->m_Result.ht;
923 } 901 }
924 if (cSBHUFFRSIZE == 0) { 902 if (cSBHUFFRSIZE == 0) {
925 Table_B1.reset(new CJBig2_HuffmanTable(HuffmanTable_B1, 903 Table_B1.reset(new CJBig2_HuffmanTable(
926 FX_ArraySize(HuffmanTable_B1), 904 HuffmanTable_B1, HuffmanTable_B1_Size, HuffmanTable_HTOOB_B1));
927 HuffmanTable_HTOOB_B1));
928 pTRD->SBHUFFRSIZE = Table_B1.get(); 905 pTRD->SBHUFFRSIZE = Table_B1.get();
929 } else { 906 } else {
930 CJBig2_Segment* pSeg = 907 CJBig2_Segment* pSeg =
931 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++); 908 findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
932 if (!pSeg) 909 if (!pSeg)
933 return JBIG2_ERROR_FATAL; 910 return JBIG2_ERROR_FATAL;
934 pTRD->SBHUFFRSIZE = pSeg->m_Result.ht; 911 pTRD->SBHUFFRSIZE = pSeg->m_Result.ht;
935 } 912 }
936 } 913 }
937 std::unique_ptr<JBig2ArithCtx, FxFreeDeleter> grContext; 914 std::unique_ptr<JBig2ArithCtx, FxFreeDeleter> grContext;
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after
1431 SBSYMCODES[CURTEMP].code = CURCODE; 1408 SBSYMCODES[CURTEMP].code = CURCODE;
1432 CURCODE = CURCODE + 1; 1409 CURCODE = CURCODE + 1;
1433 } 1410 }
1434 CURTEMP = CURTEMP + 1; 1411 CURTEMP = CURTEMP + 1;
1435 } 1412 }
1436 CURLEN = CURLEN + 1; 1413 CURLEN = CURLEN + 1;
1437 } 1414 }
1438 FX_Free(LENCOUNT); 1415 FX_Free(LENCOUNT);
1439 FX_Free(FIRSTCODE); 1416 FX_Free(FIRSTCODE);
1440 } 1417 }
OLDNEW
« no previous file with comments | « core/fpdfdoc/doc_vt.cpp ('k') | core/fxcodec/jbig2/JBig2_HuffmanTable_Standard.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698