Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.jfor.jfor.tools.jpeg
Class Huffman  view Huffman download Huffman.java

java.lang.Object
  extended byorg.jfor.jfor.tools.jpeg.Huffman

class Huffman
extends java.lang.Object

This class was modified by James R. Weeks on 3/27/98. It now incorporates Huffman table derivation as in the C jpeg library from the IJG, Jpeg-6a.


Field Summary
private  java.lang.Object[] AC_matrix
           
private  java.util.Vector bits
           
private  int[] bitsACchrominance
           
private  int[] bitsACluminance
           
private  int[] bitsDCchrominance
           
private  int[] bitsDCluminance
           
private  int bufferPutBits
           
private  int bufferPutBuffer
           
private  java.lang.Object[] DC_matrix
           
(package private) static int[] jpegNaturalOrder
          jpegNaturalOrder[i] is the natural-order position of the i'th element of zigzag order.
private  java.util.Vector val
           
private  int[] valACchrominance
           
private  int[] valACluminance
           
private  int[] valDCchrominance
           
private  int[] valDCluminance
           
 
Constructor Summary
(package private) Huffman()
          The Huffman class constructor.
 
Method Summary
(package private)  void bufferIt(java.io.BufferedOutputStream outStream, int code, int size)
          Uses an integer long (32 bits) buffer to store the Huffman encoded bits and sends them to outStream by the byte.
 void dispose()
          Dispose.
(package private)  void encodeHuffmanBlock(java.io.BufferedOutputStream outStream, int[] zigzag, int prec, int dCcode, int aCcode)
          HuffmanBlockEncoder run length encodes and Huffman encodes the quantized data.
(package private)  void flushBuffer(java.io.BufferedOutputStream outStream)
          Flushed the buffer to output stream.
(package private)  int[] getBits(int index)
          Gets the bits.
(package private)  int[] getVal(int index)
          Get the values.
(package private)  void initHuf()
          Initialisation of the Huffman codes for Luminance and Chrominance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bufferPutBits

private int bufferPutBits

bufferPutBuffer

private int bufferPutBuffer

DC_matrix

private java.lang.Object[] DC_matrix

AC_matrix

private java.lang.Object[] AC_matrix

bits

private java.util.Vector bits

val

private java.util.Vector val

bitsDCluminance

private int[] bitsDCluminance

valDCluminance

private int[] valDCluminance

bitsDCchrominance

private int[] bitsDCchrominance

valDCchrominance

private int[] valDCchrominance

bitsACluminance

private int[] bitsACluminance

valACluminance

private int[] valACluminance

bitsACchrominance

private int[] bitsACchrominance

valACchrominance

private int[] valACchrominance

jpegNaturalOrder

static int[] jpegNaturalOrder
jpegNaturalOrder[i] is the natural-order position of the i'th element of zigzag order.

Constructor Detail

Huffman

Huffman()
The Huffman class constructor.

Method Detail

dispose

public void dispose()
Dispose.


getBits

int[] getBits(int index)
Gets the bits.


getVal

int[] getVal(int index)
Get the values.


encodeHuffmanBlock

void encodeHuffmanBlock(java.io.BufferedOutputStream outStream,
                        int[] zigzag,
                        int prec,
                        int dCcode,
                        int aCcode)
HuffmanBlockEncoder run length encodes and Huffman encodes the quantized data.


bufferIt

void bufferIt(java.io.BufferedOutputStream outStream,
              int code,
              int size)
Uses an integer long (32 bits) buffer to store the Huffman encoded bits and sends them to outStream by the byte.


flushBuffer

void flushBuffer(java.io.BufferedOutputStream outStream)
Flushed the buffer to output stream.


initHuf

void initHuf()
Initialisation of the Huffman codes for Luminance and Chrominance. This code results in the same tables created in the IJG Jpeg-6a library.