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_GrdProc.h" | 7 #include "core/fxcodec/jbig2/JBig2_GrdProc.h" |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
11 #include "core/fxcodec/include/fx_codec.h" | 11 #include "core/fxcodec/include/fx_codec.h" |
12 #include "core/fxcodec/jbig2/JBig2_ArithDecoder.h" | 12 #include "core/fxcodec/jbig2/JBig2_ArithDecoder.h" |
13 #include "core/fxcodec/jbig2/JBig2_BitStream.h" | 13 #include "core/fxcodec/jbig2/JBig2_BitStream.h" |
14 #include "core/fxcodec/jbig2/JBig2_Image.h" | 14 #include "core/fxcodec/jbig2/JBig2_Image.h" |
15 | 15 |
16 CJBig2_GRDProc::CJBig2_GRDProc() | 16 CJBig2_GRDProc::CJBig2_GRDProc() |
17 : m_loopIndex(0), | 17 : m_loopIndex(0), |
18 m_pLine(nullptr), | 18 m_pLine(nullptr), |
19 m_pPause(nullptr), | 19 m_pPause(nullptr), |
20 m_DecodeType(0), | 20 m_DecodeType(0), |
21 LTP(0) { | 21 m_LTP(0) { |
dsinclair
2016/06/06 12:50:11
nit: FALSE
Wei Li
2016/06/07 17:33:53
Done.
| |
22 m_ReplaceRect.left = 0; | 22 m_ReplaceRect.left = 0; |
23 m_ReplaceRect.bottom = 0; | 23 m_ReplaceRect.bottom = 0; |
24 m_ReplaceRect.top = 0; | 24 m_ReplaceRect.top = 0; |
25 m_ReplaceRect.right = 0; | 25 m_ReplaceRect.right = 0; |
26 } | 26 } |
27 | 27 |
28 bool CJBig2_GRDProc::UseTemplate0Opt3() const { | 28 bool CJBig2_GRDProc::UseTemplate0Opt3() const { |
29 return (GBAT[0] == 3) && (GBAT[1] == -1) && (GBAT[2] == -3) && | 29 return (GBAT[0] == 3) && (GBAT[1] == -1) && (GBAT[2] == -3) && |
30 (GBAT[3] == -1) && (GBAT[4] == 2) && (GBAT[5] == -2) && | 30 (GBAT[3] == -1) && (GBAT[4] == 2) && (GBAT[5] == -2) && |
31 (GBAT[6] == -2) && (GBAT[7] == -2); | 31 (GBAT[6] == -2) && (GBAT[7] == -2); |
(...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
599 delete *pImage; | 599 delete *pImage; |
600 *pImage = nullptr; | 600 *pImage = nullptr; |
601 m_ProssiveStatus = FXCODEC_STATUS_ERROR; | 601 m_ProssiveStatus = FXCODEC_STATUS_ERROR; |
602 return FXCODEC_STATUS_ERROR; | 602 return FXCODEC_STATUS_ERROR; |
603 } | 603 } |
604 m_DecodeType = 1; | 604 m_DecodeType = 1; |
605 m_pImage = pImage; | 605 m_pImage = pImage; |
606 (*m_pImage)->fill(0); | 606 (*m_pImage)->fill(0); |
607 m_pArithDecoder = pArithDecoder; | 607 m_pArithDecoder = pArithDecoder; |
608 m_gbContext = gbContext; | 608 m_gbContext = gbContext; |
609 LTP = 0; | 609 m_LTP = 0; |
dsinclair
2016/06/06 12:50:10
nit: FALSE
Wei Li
2016/06/07 17:33:52
Done.
| |
610 m_pLine = nullptr; | 610 m_pLine = nullptr; |
611 m_loopIndex = 0; | 611 m_loopIndex = 0; |
612 return decode_Arith(pPause); | 612 return decode_Arith(pPause); |
613 } | 613 } |
614 | 614 |
615 FXCODEC_STATUS CJBig2_GRDProc::decode_Arith(IFX_Pause* pPause) { | 615 FXCODEC_STATUS CJBig2_GRDProc::decode_Arith(IFX_Pause* pPause) { |
616 int iline = m_loopIndex; | 616 int iline = m_loopIndex; |
617 CJBig2_Image* pImage = *m_pImage; | 617 CJBig2_Image* pImage = *m_pImage; |
618 if (GBTEMPLATE == 0) { | 618 if (GBTEMPLATE == 0) { |
619 if (UseTemplate0Opt3()) { | 619 if (UseTemplate0Opt3()) { |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
707 m_pLine = pImage->m_pData; | 707 m_pLine = pImage->m_pData; |
708 } | 708 } |
709 nStride = pImage->m_nStride; | 709 nStride = pImage->m_nStride; |
710 nStride2 = nStride << 1; | 710 nStride2 = nStride << 1; |
711 nLineBytes = ((GBW + 7) >> 3) - 1; | 711 nLineBytes = ((GBW + 7) >> 3) - 1; |
712 nBitsLeft = GBW - (nLineBytes << 3); | 712 nBitsLeft = GBW - (nLineBytes << 3); |
713 uint32_t height = GBH & 0x7fffffff; | 713 uint32_t height = GBH & 0x7fffffff; |
714 for (; m_loopIndex < height; m_loopIndex++) { | 714 for (; m_loopIndex < height; m_loopIndex++) { |
715 if (TPGDON) { | 715 if (TPGDON) { |
716 SLTP = pArithDecoder->DECODE(&gbContext[0x9b25]); | 716 SLTP = pArithDecoder->DECODE(&gbContext[0x9b25]); |
717 LTP = LTP ^ SLTP; | 717 m_LTP = m_LTP ^ SLTP; |
718 } | 718 } |
719 if (LTP == 1) { | 719 if (m_LTP == 1) { |
dsinclair
2016/06/06 12:50:10
nit: TRUE (and others below)
Tom Sepez
2016/06/06 16:43:33
just if (m_LTP) {
Wei Li
2016/06/07 17:33:53
Done.
| |
720 pImage->copyLine(m_loopIndex, m_loopIndex - 1); | 720 pImage->copyLine(m_loopIndex, m_loopIndex - 1); |
721 } else { | 721 } else { |
722 if (m_loopIndex > 1) { | 722 if (m_loopIndex > 1) { |
723 pLine1 = m_pLine - nStride2; | 723 pLine1 = m_pLine - nStride2; |
724 pLine2 = m_pLine - nStride; | 724 pLine2 = m_pLine - nStride; |
725 line1 = (*pLine1++) << 6; | 725 line1 = (*pLine1++) << 6; |
726 line2 = *pLine2++; | 726 line2 = *pLine2++; |
727 CONTEXT = ((line1 & 0xf800) | (line2 & 0x07f0)); | 727 CONTEXT = ((line1 & 0xf800) | (line2 & 0x07f0)); |
728 for (cc = 0; cc < nLineBytes; cc++) { | 728 for (cc = 0; cc < nLineBytes; cc++) { |
729 line1 = (line1 << 8) | ((*pLine1++) << 6); | 729 line1 = (line1 << 8) | ((*pLine1++) << 6); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
791 CJBig2_Image* pImage, | 791 CJBig2_Image* pImage, |
792 CJBig2_ArithDecoder* pArithDecoder, | 792 CJBig2_ArithDecoder* pArithDecoder, |
793 JBig2ArithCtx* gbContext, | 793 JBig2ArithCtx* gbContext, |
794 IFX_Pause* pPause) { | 794 IFX_Pause* pPause) { |
795 FX_BOOL SLTP, bVal; | 795 FX_BOOL SLTP, bVal; |
796 uint32_t CONTEXT; | 796 uint32_t CONTEXT; |
797 uint32_t line1, line2, line3; | 797 uint32_t line1, line2, line3; |
798 for (; m_loopIndex < GBH; m_loopIndex++) { | 798 for (; m_loopIndex < GBH; m_loopIndex++) { |
799 if (TPGDON) { | 799 if (TPGDON) { |
800 SLTP = pArithDecoder->DECODE(&gbContext[0x9b25]); | 800 SLTP = pArithDecoder->DECODE(&gbContext[0x9b25]); |
801 LTP = LTP ^ SLTP; | 801 m_LTP = m_LTP ^ SLTP; |
802 } | 802 } |
803 if (LTP == 1) { | 803 if (m_LTP == 1) { |
804 pImage->copyLine(m_loopIndex, m_loopIndex - 1); | 804 pImage->copyLine(m_loopIndex, m_loopIndex - 1); |
805 } else { | 805 } else { |
806 line1 = pImage->getPixel(1, m_loopIndex - 2); | 806 line1 = pImage->getPixel(1, m_loopIndex - 2); |
807 line1 |= pImage->getPixel(0, m_loopIndex - 2) << 1; | 807 line1 |= pImage->getPixel(0, m_loopIndex - 2) << 1; |
808 line2 = pImage->getPixel(2, m_loopIndex - 1); | 808 line2 = pImage->getPixel(2, m_loopIndex - 1); |
809 line2 |= pImage->getPixel(1, m_loopIndex - 1) << 1; | 809 line2 |= pImage->getPixel(1, m_loopIndex - 1) << 1; |
810 line2 |= pImage->getPixel(0, m_loopIndex - 1) << 2; | 810 line2 |= pImage->getPixel(0, m_loopIndex - 1) << 2; |
811 line3 = 0; | 811 line3 = 0; |
812 for (uint32_t w = 0; w < GBW; w++) { | 812 for (uint32_t w = 0; w < GBW; w++) { |
813 if (USESKIP && SKIP->getPixel(w, m_loopIndex)) { | 813 if (USESKIP && SKIP->getPixel(w, m_loopIndex)) { |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
856 if (!m_pLine) { | 856 if (!m_pLine) { |
857 m_pLine = pImage->m_pData; | 857 m_pLine = pImage->m_pData; |
858 } | 858 } |
859 nStride = pImage->m_nStride; | 859 nStride = pImage->m_nStride; |
860 nStride2 = nStride << 1; | 860 nStride2 = nStride << 1; |
861 nLineBytes = ((GBW + 7) >> 3) - 1; | 861 nLineBytes = ((GBW + 7) >> 3) - 1; |
862 nBitsLeft = GBW - (nLineBytes << 3); | 862 nBitsLeft = GBW - (nLineBytes << 3); |
863 for (; m_loopIndex < GBH; m_loopIndex++) { | 863 for (; m_loopIndex < GBH; m_loopIndex++) { |
864 if (TPGDON) { | 864 if (TPGDON) { |
865 SLTP = pArithDecoder->DECODE(&gbContext[0x0795]); | 865 SLTP = pArithDecoder->DECODE(&gbContext[0x0795]); |
866 LTP = LTP ^ SLTP; | 866 m_LTP = m_LTP ^ SLTP; |
867 } | 867 } |
868 if (LTP == 1) { | 868 if (m_LTP == 1) { |
869 pImage->copyLine(m_loopIndex, m_loopIndex - 1); | 869 pImage->copyLine(m_loopIndex, m_loopIndex - 1); |
870 } else { | 870 } else { |
871 if (m_loopIndex > 1) { | 871 if (m_loopIndex > 1) { |
872 pLine1 = m_pLine - nStride2; | 872 pLine1 = m_pLine - nStride2; |
873 pLine2 = m_pLine - nStride; | 873 pLine2 = m_pLine - nStride; |
874 line1 = (*pLine1++) << 4; | 874 line1 = (*pLine1++) << 4; |
875 line2 = *pLine2++; | 875 line2 = *pLine2++; |
876 CONTEXT = (line1 & 0x1e00) | ((line2 >> 1) & 0x01f8); | 876 CONTEXT = (line1 & 0x1e00) | ((line2 >> 1) & 0x01f8); |
877 for (cc = 0; cc < nLineBytes; cc++) { | 877 for (cc = 0; cc < nLineBytes; cc++) { |
878 line1 = (line1 << 8) | ((*pLine1++) << 4); | 878 line1 = (line1 << 8) | ((*pLine1++) << 4); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
940 CJBig2_Image* pImage, | 940 CJBig2_Image* pImage, |
941 CJBig2_ArithDecoder* pArithDecoder, | 941 CJBig2_ArithDecoder* pArithDecoder, |
942 JBig2ArithCtx* gbContext, | 942 JBig2ArithCtx* gbContext, |
943 IFX_Pause* pPause) { | 943 IFX_Pause* pPause) { |
944 FX_BOOL SLTP, bVal; | 944 FX_BOOL SLTP, bVal; |
945 uint32_t CONTEXT; | 945 uint32_t CONTEXT; |
946 uint32_t line1, line2, line3; | 946 uint32_t line1, line2, line3; |
947 for (uint32_t h = 0; h < GBH; h++) { | 947 for (uint32_t h = 0; h < GBH; h++) { |
948 if (TPGDON) { | 948 if (TPGDON) { |
949 SLTP = pArithDecoder->DECODE(&gbContext[0x0795]); | 949 SLTP = pArithDecoder->DECODE(&gbContext[0x0795]); |
950 LTP = LTP ^ SLTP; | 950 m_LTP = m_LTP ^ SLTP; |
951 } | 951 } |
952 if (LTP == 1) { | 952 if (m_LTP == 1) { |
953 pImage->copyLine(h, h - 1); | 953 pImage->copyLine(h, h - 1); |
954 } else { | 954 } else { |
955 line1 = pImage->getPixel(2, h - 2); | 955 line1 = pImage->getPixel(2, h - 2); |
956 line1 |= pImage->getPixel(1, h - 2) << 1; | 956 line1 |= pImage->getPixel(1, h - 2) << 1; |
957 line1 |= pImage->getPixel(0, h - 2) << 2; | 957 line1 |= pImage->getPixel(0, h - 2) << 2; |
958 line2 = pImage->getPixel(2, h - 1); | 958 line2 = pImage->getPixel(2, h - 1); |
959 line2 |= pImage->getPixel(1, h - 1) << 1; | 959 line2 |= pImage->getPixel(1, h - 1) << 1; |
960 line2 |= pImage->getPixel(0, h - 1) << 2; | 960 line2 |= pImage->getPixel(0, h - 1) << 2; |
961 line3 = 0; | 961 line3 = 0; |
962 for (uint32_t w = 0; w < GBW; w++) { | 962 for (uint32_t w = 0; w < GBW; w++) { |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1001 if (!m_pLine) { | 1001 if (!m_pLine) { |
1002 m_pLine = pImage->m_pData; | 1002 m_pLine = pImage->m_pData; |
1003 } | 1003 } |
1004 nStride = pImage->m_nStride; | 1004 nStride = pImage->m_nStride; |
1005 nStride2 = nStride << 1; | 1005 nStride2 = nStride << 1; |
1006 nLineBytes = ((GBW + 7) >> 3) - 1; | 1006 nLineBytes = ((GBW + 7) >> 3) - 1; |
1007 nBitsLeft = GBW - (nLineBytes << 3); | 1007 nBitsLeft = GBW - (nLineBytes << 3); |
1008 for (; m_loopIndex < GBH; m_loopIndex++) { | 1008 for (; m_loopIndex < GBH; m_loopIndex++) { |
1009 if (TPGDON) { | 1009 if (TPGDON) { |
1010 SLTP = pArithDecoder->DECODE(&gbContext[0x00e5]); | 1010 SLTP = pArithDecoder->DECODE(&gbContext[0x00e5]); |
1011 LTP = LTP ^ SLTP; | 1011 m_LTP = m_LTP ^ SLTP; |
1012 } | 1012 } |
1013 if (LTP == 1) { | 1013 if (m_LTP == 1) { |
1014 pImage->copyLine(m_loopIndex, m_loopIndex - 1); | 1014 pImage->copyLine(m_loopIndex, m_loopIndex - 1); |
1015 } else { | 1015 } else { |
1016 if (m_loopIndex > 1) { | 1016 if (m_loopIndex > 1) { |
1017 pLine1 = m_pLine - nStride2; | 1017 pLine1 = m_pLine - nStride2; |
1018 pLine2 = m_pLine - nStride; | 1018 pLine2 = m_pLine - nStride; |
1019 line1 = (*pLine1++) << 1; | 1019 line1 = (*pLine1++) << 1; |
1020 line2 = *pLine2++; | 1020 line2 = *pLine2++; |
1021 CONTEXT = (line1 & 0x0380) | ((line2 >> 3) & 0x007c); | 1021 CONTEXT = (line1 & 0x0380) | ((line2 >> 3) & 0x007c); |
1022 for (cc = 0; cc < nLineBytes; cc++) { | 1022 for (cc = 0; cc < nLineBytes; cc++) { |
1023 line1 = (line1 << 8) | ((*pLine1++) << 1); | 1023 line1 = (line1 << 8) | ((*pLine1++) << 1); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1085 CJBig2_Image* pImage, | 1085 CJBig2_Image* pImage, |
1086 CJBig2_ArithDecoder* pArithDecoder, | 1086 CJBig2_ArithDecoder* pArithDecoder, |
1087 JBig2ArithCtx* gbContext, | 1087 JBig2ArithCtx* gbContext, |
1088 IFX_Pause* pPause) { | 1088 IFX_Pause* pPause) { |
1089 FX_BOOL SLTP, bVal; | 1089 FX_BOOL SLTP, bVal; |
1090 uint32_t CONTEXT; | 1090 uint32_t CONTEXT; |
1091 uint32_t line1, line2, line3; | 1091 uint32_t line1, line2, line3; |
1092 for (; m_loopIndex < GBH; m_loopIndex++) { | 1092 for (; m_loopIndex < GBH; m_loopIndex++) { |
1093 if (TPGDON) { | 1093 if (TPGDON) { |
1094 SLTP = pArithDecoder->DECODE(&gbContext[0x00e5]); | 1094 SLTP = pArithDecoder->DECODE(&gbContext[0x00e5]); |
1095 LTP = LTP ^ SLTP; | 1095 m_LTP = m_LTP ^ SLTP; |
1096 } | 1096 } |
1097 if (LTP == 1) { | 1097 if (m_LTP == 1) { |
1098 pImage->copyLine(m_loopIndex, m_loopIndex - 1); | 1098 pImage->copyLine(m_loopIndex, m_loopIndex - 1); |
1099 } else { | 1099 } else { |
1100 line1 = pImage->getPixel(1, m_loopIndex - 2); | 1100 line1 = pImage->getPixel(1, m_loopIndex - 2); |
1101 line1 |= pImage->getPixel(0, m_loopIndex - 2) << 1; | 1101 line1 |= pImage->getPixel(0, m_loopIndex - 2) << 1; |
1102 line2 = pImage->getPixel(1, m_loopIndex - 1); | 1102 line2 = pImage->getPixel(1, m_loopIndex - 1); |
1103 line2 |= pImage->getPixel(0, m_loopIndex - 1) << 1; | 1103 line2 |= pImage->getPixel(0, m_loopIndex - 1) << 1; |
1104 line3 = 0; | 1104 line3 = 0; |
1105 for (uint32_t w = 0; w < GBW; w++) { | 1105 for (uint32_t w = 0; w < GBW; w++) { |
1106 if (USESKIP && SKIP->getPixel(w, m_loopIndex)) { | 1106 if (USESKIP && SKIP->getPixel(w, m_loopIndex)) { |
1107 bVal = 0; | 1107 bVal = 0; |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1145 int32_t nLineBytes, nBitsLeft, cc; | 1145 int32_t nLineBytes, nBitsLeft, cc; |
1146 if (!m_pLine) { | 1146 if (!m_pLine) { |
1147 m_pLine = pImage->m_pData; | 1147 m_pLine = pImage->m_pData; |
1148 } | 1148 } |
1149 nStride = pImage->m_nStride; | 1149 nStride = pImage->m_nStride; |
1150 nLineBytes = ((GBW + 7) >> 3) - 1; | 1150 nLineBytes = ((GBW + 7) >> 3) - 1; |
1151 nBitsLeft = GBW - (nLineBytes << 3); | 1151 nBitsLeft = GBW - (nLineBytes << 3); |
1152 for (; m_loopIndex < GBH; m_loopIndex++) { | 1152 for (; m_loopIndex < GBH; m_loopIndex++) { |
1153 if (TPGDON) { | 1153 if (TPGDON) { |
1154 SLTP = pArithDecoder->DECODE(&gbContext[0x0195]); | 1154 SLTP = pArithDecoder->DECODE(&gbContext[0x0195]); |
1155 LTP = LTP ^ SLTP; | 1155 m_LTP = m_LTP ^ SLTP; |
1156 } | 1156 } |
1157 if (LTP == 1) { | 1157 if (m_LTP == 1) { |
1158 pImage->copyLine(m_loopIndex, m_loopIndex - 1); | 1158 pImage->copyLine(m_loopIndex, m_loopIndex - 1); |
1159 } else { | 1159 } else { |
1160 if (m_loopIndex > 0) { | 1160 if (m_loopIndex > 0) { |
1161 pLine1 = m_pLine - nStride; | 1161 pLine1 = m_pLine - nStride; |
1162 line1 = *pLine1++; | 1162 line1 = *pLine1++; |
1163 CONTEXT = (line1 >> 1) & 0x03f0; | 1163 CONTEXT = (line1 >> 1) & 0x03f0; |
1164 for (cc = 0; cc < nLineBytes; cc++) { | 1164 for (cc = 0; cc < nLineBytes; cc++) { |
1165 line1 = (line1 << 8) | (*pLine1++); | 1165 line1 = (line1 << 8) | (*pLine1++); |
1166 cVal = 0; | 1166 cVal = 0; |
1167 for (k = 7; k >= 0; k--) { | 1167 for (k = 7; k >= 0; k--) { |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1216 CJBig2_Image* pImage, | 1216 CJBig2_Image* pImage, |
1217 CJBig2_ArithDecoder* pArithDecoder, | 1217 CJBig2_ArithDecoder* pArithDecoder, |
1218 JBig2ArithCtx* gbContext, | 1218 JBig2ArithCtx* gbContext, |
1219 IFX_Pause* pPause) { | 1219 IFX_Pause* pPause) { |
1220 FX_BOOL SLTP, bVal; | 1220 FX_BOOL SLTP, bVal; |
1221 uint32_t CONTEXT; | 1221 uint32_t CONTEXT; |
1222 uint32_t line1, line2; | 1222 uint32_t line1, line2; |
1223 for (; m_loopIndex < GBH; m_loopIndex++) { | 1223 for (; m_loopIndex < GBH; m_loopIndex++) { |
1224 if (TPGDON) { | 1224 if (TPGDON) { |
1225 SLTP = pArithDecoder->DECODE(&gbContext[0x0195]); | 1225 SLTP = pArithDecoder->DECODE(&gbContext[0x0195]); |
1226 LTP = LTP ^ SLTP; | 1226 m_LTP = m_LTP ^ SLTP; |
1227 } | 1227 } |
1228 if (LTP == 1) { | 1228 if (m_LTP == 1) { |
1229 pImage->copyLine(m_loopIndex, m_loopIndex - 1); | 1229 pImage->copyLine(m_loopIndex, m_loopIndex - 1); |
1230 } else { | 1230 } else { |
1231 line1 = pImage->getPixel(1, m_loopIndex - 1); | 1231 line1 = pImage->getPixel(1, m_loopIndex - 1); |
1232 line1 |= pImage->getPixel(0, m_loopIndex - 1) << 1; | 1232 line1 |= pImage->getPixel(0, m_loopIndex - 1) << 1; |
1233 line2 = 0; | 1233 line2 = 0; |
1234 for (uint32_t w = 0; w < GBW; w++) { | 1234 for (uint32_t w = 0; w < GBW; w++) { |
1235 if (USESKIP && SKIP->getPixel(w, m_loopIndex)) { | 1235 if (USESKIP && SKIP->getPixel(w, m_loopIndex)) { |
1236 bVal = 0; | 1236 bVal = 0; |
1237 } else { | 1237 } else { |
1238 CONTEXT = line2; | 1238 CONTEXT = line2; |
(...skipping 11 matching lines...) Expand all Loading... | |
1250 } | 1250 } |
1251 if (pPause && pPause->NeedToPauseNow()) { | 1251 if (pPause && pPause->NeedToPauseNow()) { |
1252 m_loopIndex++; | 1252 m_loopIndex++; |
1253 m_ProssiveStatus = FXCODEC_STATUS_DECODE_TOBECONTINUE; | 1253 m_ProssiveStatus = FXCODEC_STATUS_DECODE_TOBECONTINUE; |
1254 return FXCODEC_STATUS_DECODE_TOBECONTINUE; | 1254 return FXCODEC_STATUS_DECODE_TOBECONTINUE; |
1255 } | 1255 } |
1256 } | 1256 } |
1257 m_ProssiveStatus = FXCODEC_STATUS_DECODE_FINISH; | 1257 m_ProssiveStatus = FXCODEC_STATUS_DECODE_FINISH; |
1258 return FXCODEC_STATUS_DECODE_FINISH; | 1258 return FXCODEC_STATUS_DECODE_FINISH; |
1259 } | 1259 } |
OLD | NEW |