make lengthDecode a typed array
This commit is contained in:
		
							parent
							
								
									cd7c229ccc
								
							
						
					
					
						commit
						9143ad4cf5
					
				
							
								
								
									
										45
									
								
								pdf.js
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								pdf.js
									
									
									
									
									
								
							@ -116,39 +116,13 @@ var FlateStream = (function() {
 | 
			
		||||
        16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15
 | 
			
		||||
    ]);
 | 
			
		||||
 | 
			
		||||
    const lengthDecode = [
 | 
			
		||||
        [0,   3],
 | 
			
		||||
        [0,   4],
 | 
			
		||||
        [0,   5],
 | 
			
		||||
        [0,   6],
 | 
			
		||||
        [0,   7],
 | 
			
		||||
        [0,   8],
 | 
			
		||||
        [0,   9],
 | 
			
		||||
        [0,  10],
 | 
			
		||||
        [1,  11],
 | 
			
		||||
        [1,  13],
 | 
			
		||||
        [1,  15],
 | 
			
		||||
        [1,  17],
 | 
			
		||||
        [2,  19],
 | 
			
		||||
        [2,  23],
 | 
			
		||||
        [2,  27],
 | 
			
		||||
        [2,  31],
 | 
			
		||||
        [3,  35],
 | 
			
		||||
        [3,  43],
 | 
			
		||||
        [3,  51],
 | 
			
		||||
        [3,  59],
 | 
			
		||||
        [4,  67],
 | 
			
		||||
        [4,  83],
 | 
			
		||||
        [4,  99],
 | 
			
		||||
        [4, 115],
 | 
			
		||||
        [5, 131],
 | 
			
		||||
        [5, 163],
 | 
			
		||||
        [5, 195],
 | 
			
		||||
        [5, 227],
 | 
			
		||||
        [0, 258],
 | 
			
		||||
        [0, 258],
 | 
			
		||||
        [0, 258]
 | 
			
		||||
    ];
 | 
			
		||||
    const lengthDecode = new Uint32Array([
 | 
			
		||||
        0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009,
 | 
			
		||||
        0x0000a, 0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017,
 | 
			
		||||
        0x2001b, 0x2001f, 0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043,
 | 
			
		||||
        0x40053, 0x40063, 0x40073, 0x50083, 0x500a3, 0x500c3, 0x500e3,
 | 
			
		||||
        0x00102, 0x00102, 0x00102
 | 
			
		||||
    ]);
 | 
			
		||||
 | 
			
		||||
    const distDecode = [
 | 
			
		||||
        [0,      1],
 | 
			
		||||
@ -964,10 +938,11 @@ var FlateStream = (function() {
 | 
			
		||||
                    buffer[pos++] = code1;
 | 
			
		||||
                } else {
 | 
			
		||||
                    code1 -= 257;
 | 
			
		||||
                    var code2 = lengthDecode[code1][0];
 | 
			
		||||
                    code1 = lengthDecode[code1];
 | 
			
		||||
                    var code2 = code1 >> 16;
 | 
			
		||||
                    if (code2 > 0)
 | 
			
		||||
                        code2 = this.getBits(code2);
 | 
			
		||||
                    var len = lengthDecode[code1][1] + code2;
 | 
			
		||||
                    var len = (code1 & 0xffff) + code2;
 | 
			
		||||
                    code1 = this.getCode(distCodeTable);
 | 
			
		||||
                    code2 = distDecode[code1][0];
 | 
			
		||||
                    if (code2 > 0)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user