1 /* 2 * DeltaEncoder 3 * 4 * Author: Lasse Collin <lasse.collin@tukaani.org> 5 * 6 * This file has been put into the public domain. 7 * You can do whatever you want with this file. 8 */ 9 10 package org.tukaani.xz.delta; 11 12 public class DeltaEncoder extends DeltaCoder { DeltaEncoder(int distance)13 public DeltaEncoder(int distance) { 14 super(distance); 15 } 16 encode(byte[] in, int in_off, int len, byte[] out)17 public void encode(byte[] in, int in_off, int len, byte[] out) { 18 for (int i = 0; i < len; ++i) { 19 byte tmp = history[(distance + pos) & DISTANCE_MASK]; 20 history[pos-- & DISTANCE_MASK] = in[in_off + i]; 21 out[i] = (byte)(in[in_off + i] - tmp); 22 } 23 } 24 } 25