@@ -101,39 +101,39 @@ public class TIFFFaxDecoder {
101
101
};
102
102
103
103
// Table to be used when fillOrder = 2, for flipping bytes.
104
- static byte flipTable [] = {
105
- 0 , -128 , 64 , -64 , 32 , -96 , 96 , -32 ,
106
- 16 , -112 , 80 , -48 , 48 , -80 , 112 , -16 ,
107
- 8 , -120 , 72 , -56 , 40 , -88 , 104 , -24 ,
108
- 24 , -104 , 88 , -40 , 56 , -72 , 120 , -8 ,
109
- 4 , -124 , 68 , -60 , 36 , -92 , 100 , -28 ,
110
- 20 , -108 , 84 , -44 , 52 , -76 , 116 , -12 ,
111
- 12 , -116 , 76 , -52 , 44 , -84 , 108 , -20 ,
112
- 28 , -100 , 92 , -36 , 60 , -68 , 124 , -4 ,
113
- 2 , -126 , 66 , -62 , 34 , -94 , 98 , -30 ,
114
- 18 , -110 , 82 , -46 , 50 , -78 , 114 , -14 ,
115
- 10 , -118 , 74 , -54 , 42 , -86 , 106 , -22 ,
116
- 26 , -102 , 90 , -38 , 58 , -70 , 122 , -6 ,
117
- 6 , -122 , 70 , -58 , 38 , -90 , 102 , -26 ,
118
- 22 , -106 , 86 , -42 , 54 , -74 , 118 , -10 ,
119
- 14 , -114 , 78 , -50 , 46 , -82 , 110 , -18 ,
120
- 30 , -98 , 94 , -34 , 62 , -66 , 126 , -2 ,
121
- 1 , -127 , 65 , -63 , 33 , -95 , 97 , -31 ,
122
- 17 , -111 , 81 , -47 , 49 , -79 , 113 , -15 ,
123
- 9 , -119 , 73 , -55 , 41 , -87 , 105 , -23 ,
124
- 25 , -103 , 89 , -39 , 57 , -71 , 121 , -7 ,
125
- 5 , -123 , 69 , -59 , 37 , -91 , 101 , -27 ,
126
- 21 , -107 , 85 , -43 , 53 , -75 , 117 , -11 ,
127
- 13 , -115 , 77 , -51 , 45 , -83 , 109 , -19 ,
128
- 29 , -99 , 93 , -35 , 61 , -67 , 125 , -3 ,
129
- 3 , -125 , 67 , -61 , 35 , -93 , 99 , -29 ,
130
- 19 , -109 , 83 , -45 , 51 , -77 , 115 , -13 ,
131
- 11 , -117 , 75 , -53 , 43 , -85 , 107 , -21 ,
132
- 27 , -101 , 91 , -37 , 59 , -69 , 123 , -5 ,
133
- 7 , -121 , 71 , -57 , 39 , -89 , 103 , -25 ,
134
- 23 , -105 , 87 , -41 , 55 , -73 , 119 , -9 ,
135
- 15 , -113 , 79 , -49 , 47 , -81 , 111 , -17 ,
136
- 31 , -97 , 95 , -33 , 63 , -65 , 127 , -1 ,
104
+ static public byte flipTable [] = {
105
+ ( byte ) 0 , ( byte ) -128 , ( byte ) 64 , ( byte ) -64 , ( byte ) 32 , ( byte ) -96 , ( byte ) 96 , ( byte ) -32 ,
106
+ ( byte ) 16 , ( byte ) -112 , ( byte ) 80 , ( byte ) -48 , ( byte ) 48 , ( byte ) -80 , ( byte ) 112 , ( byte ) -16 ,
107
+ ( byte ) 8 , ( byte ) -120 , ( byte ) 72 , ( byte ) -56 , ( byte ) 40 , ( byte ) -88 , ( byte ) 104 , ( byte ) -24 ,
108
+ ( byte ) 24 , ( byte ) -104 , ( byte ) 88 , ( byte ) -40 , ( byte ) 56 , ( byte ) -72 , ( byte ) 120 , ( byte ) -8 ,
109
+ ( byte ) 4 , ( byte ) -124 , ( byte ) 68 , ( byte ) -60 , ( byte ) 36 , ( byte ) -92 , ( byte ) 100 , ( byte ) -28 ,
110
+ ( byte ) 20 , ( byte ) -108 , ( byte ) 84 , ( byte ) -44 , ( byte ) 52 , ( byte ) -76 , ( byte ) 116 , ( byte ) -12 ,
111
+ ( byte ) 12 , ( byte ) -116 , ( byte ) 76 , ( byte ) -52 , ( byte ) 44 , ( byte ) -84 , ( byte ) 108 , ( byte ) -20 ,
112
+ ( byte ) 28 , ( byte ) -100 , ( byte ) 92 , ( byte ) -36 , ( byte ) 60 , ( byte ) -68 , ( byte ) 124 , ( byte ) -4 ,
113
+ ( byte ) 2 , ( byte ) -126 , ( byte ) 66 , ( byte ) -62 , ( byte ) 34 , ( byte ) -94 , ( byte ) 98 , ( byte ) -30 ,
114
+ ( byte ) 18 , ( byte ) -110 , ( byte ) 82 , ( byte ) -46 , ( byte ) 50 , ( byte ) -78 , ( byte ) 114 , ( byte ) -14 ,
115
+ ( byte ) 10 , ( byte ) -118 , ( byte ) 74 , ( byte ) -54 , ( byte ) 42 , ( byte ) -86 , ( byte ) 106 , ( byte ) -22 ,
116
+ ( byte ) 26 , ( byte ) -102 , ( byte ) 90 , ( byte ) -38 , ( byte ) 58 , ( byte ) -70 , ( byte ) 122 , ( byte ) -6 ,
117
+ ( byte ) 6 , ( byte ) -122 , ( byte ) 70 , ( byte ) -58 , ( byte ) 38 , ( byte ) -90 , ( byte ) 102 , ( byte ) -26 ,
118
+ ( byte ) 22 , ( byte ) -106 , ( byte ) 86 , ( byte ) -42 , ( byte ) 54 , ( byte ) -74 , ( byte ) 118 , ( byte ) -10 ,
119
+ ( byte ) 14 , ( byte ) -114 , ( byte ) 78 , ( byte ) -50 , ( byte ) 46 , ( byte ) -82 , ( byte ) 110 , ( byte ) -18 ,
120
+ ( byte ) 30 , ( byte ) -98 , ( byte ) 94 , ( byte ) -34 , ( byte ) 62 , ( byte ) -66 , ( byte ) 126 , ( byte ) -2 ,
121
+ ( byte ) 1 , ( byte ) -127 , ( byte ) 65 , ( byte ) -63 , ( byte ) 33 , ( byte ) -95 , ( byte ) 97 , ( byte ) -31 ,
122
+ ( byte ) 17 , ( byte ) -111 , ( byte ) 81 , ( byte ) -47 , ( byte ) 49 , ( byte ) -79 , ( byte ) 113 , ( byte ) -15 ,
123
+ ( byte ) 9 , ( byte ) -119 , ( byte ) 73 , ( byte ) -55 , ( byte ) 41 , ( byte ) -87 , ( byte ) 105 , ( byte ) -23 ,
124
+ ( byte ) 25 , ( byte ) -103 , ( byte ) 89 , ( byte ) -39 , ( byte ) 57 , ( byte ) -71 , ( byte ) 121 , ( byte ) -7 ,
125
+ ( byte ) 5 , ( byte ) -123 , ( byte ) 69 , ( byte ) -59 , ( byte ) 37 , ( byte ) -91 , ( byte ) 101 , ( byte ) -27 ,
126
+ ( byte ) 21 , ( byte ) -107 , ( byte ) 85 , ( byte ) -43 , ( byte ) 53 , ( byte ) -75 , ( byte ) 117 , ( byte ) -11 ,
127
+ ( byte ) 13 , ( byte ) -115 , ( byte ) 77 , ( byte ) -51 , ( byte ) 45 , ( byte ) -83 , ( byte ) 109 , ( byte ) -19 ,
128
+ ( byte ) 29 , ( byte ) -99 , ( byte ) 93 , ( byte ) -35 , ( byte ) 61 , ( byte ) -67 , ( byte ) 125 , ( byte ) -3 ,
129
+ ( byte ) 3 , ( byte ) -125 , ( byte ) 67 , ( byte ) -61 , ( byte ) 35 , ( byte ) -93 , ( byte ) 99 , ( byte ) -29 ,
130
+ ( byte ) 19 , ( byte ) -109 , ( byte ) 83 , ( byte ) -45 , ( byte ) 51 , ( byte ) -77 , ( byte ) 115 , ( byte ) -13 ,
131
+ ( byte ) 11 , ( byte ) -117 , ( byte ) 75 , ( byte ) -53 , ( byte ) 43 , ( byte ) -85 , ( byte ) 107 , ( byte ) -21 ,
132
+ ( byte ) 27 , ( byte ) -101 , ( byte ) 91 , ( byte ) -37 , ( byte ) 59 , ( byte ) -69 , ( byte ) 123 , ( byte ) -5 ,
133
+ ( byte ) 7 , ( byte ) -121 , ( byte ) 71 , ( byte ) -57 , ( byte ) 39 , ( byte ) -89 , ( byte ) 103 , ( byte ) -25 ,
134
+ ( byte ) 23 , ( byte ) -105 , ( byte ) 87 , ( byte ) -41 , ( byte ) 55 , ( byte ) -73 , ( byte ) 119 , ( byte ) -9 ,
135
+ ( byte ) 15 , ( byte ) -113 , ( byte ) 79 , ( byte ) -49 , ( byte ) 47 , ( byte ) -81 , ( byte ) 111 , ( byte ) -17 ,
136
+ ( byte ) 31 , ( byte ) -97 , ( byte ) 95 , ( byte ) -33 , ( byte ) 63 , ( byte ) -65 , ( byte ) 127 , ( byte ) -1 ,
137
137
};
138
138
139
139
// The main 10 bit white runs lookup table
@@ -397,11 +397,18 @@ public class TIFFFaxDecoder {
397
397
};
398
398
399
399
// Additional make up codes for both White and Black runs
400
- static short additionalMakeup [] = {
401
- 28679 , 28679 , 31752 , (short ) 32777 ,
402
- (short ) 33801 , (short ) 34825 , (short ) 35849 , (short ) 36873 ,
403
- (short ) 29703 , (short ) 29703 , (short ) 30727 , (short ) 30727 ,
404
- (short ) 37897 , (short ) 38921 , (short ) 39945 , (short ) 40969
400
+ // static short additionalMakeup[] = {
401
+ // 28679, 28679, 31752, (short)32777,
402
+ // (short)33801, (short)34825, (short)35849, (short)36873,
403
+ // (short)29703, (short)29703, (short)30727, (short)30727,
404
+ // (short)37897, (short)38921, (short)39945, (short)40969
405
+ // };
406
+ //replace with constants without overload
407
+ static public short additionalMakeup [] = {
408
+ 28679 , 28679 , 31752 , -32759 ,
409
+ -31735 , -30711 , -29687 , -28663 ,
410
+ 29703 , 29703 , 30727 , 30727 ,
411
+ -27639 , -26615 , -25591 , -24567
405
412
};
406
413
407
414
// Initial black run look up table, uses the first 4 bits of a code
@@ -1141,7 +1148,7 @@ private void setToBlack(byte[] buffer,
1141
1148
int maskVal = 1 << (7 - shift );
1142
1149
byte val = buffer [byteNum ];
1143
1150
while (maskVal > 0 && bitNum < lastBit ) {
1144
- val |= maskVal ;
1151
+ val |= ( byte ) maskVal ;
1145
1152
maskVal >>= 1 ;
1146
1153
++bitNum ;
1147
1154
}
@@ -1161,7 +1168,7 @@ private void setToBlack(byte[] buffer,
1161
1168
if (recoverFromImageError && !(byteNum < buffer .length )) {
1162
1169
// do nothing
1163
1170
} else {
1164
- buffer [byteNum ] |= 1 << (7 - (bitNum & 0x7 ));
1171
+ buffer [byteNum ] |= ( byte ) ( 1 << (7 - (bitNum & 0x7 ) ));
1165
1172
}
1166
1173
++bitNum ;
1167
1174
}
0 commit comments