package uk.co.mmscomputing.imageio.jpeg;
import java.io.*;
public class JPEGDCOutputStream extends OutputStream{
private JPEGHuffmanOutputStream out;
private int PRED;
public JPEGDCOutputStream(JPEGHuffmanOutputStream out){
this.out=out;
PRED=0;
}
public void write(int b)throws IOException{ // [1] p.88
int DIFF=b-PRED;
PRED=b;
int S=0;
if(DIFF>0){
while(((-1<<S)&DIFF)!=0){S++;} // figure out magnitude SSSS
}else{
DIFF=-DIFF;while(((-1<<S)&DIFF)!=0){S++;}DIFF=-DIFF-1;
}
out.write(S);
out.writeBits(DIFF,S);
}
}