java.lang.Object
javax.imageio.plugins.jpeg.JPEGHuffmanTable
public class JPEGHuffmanTable extends Object
A class encapsulating a single JPEG Huffman table.
Fields are provided for the "standard" tables taken
from Annex K of the JPEG specification.
These are the tables used as defaults.
For more information about the operation of the standard JPEG plug-in, see the JPEG metadata format specification and usage notes
-
Field Summary
Fields Modifier and Type Field Description static JPEGHuffmanTableStdACChrominanceThe standard AC chrominance Huffman table.static JPEGHuffmanTableStdACLuminanceThe standard AC luminance Huffman table.static JPEGHuffmanTableStdDCChrominanceThe standard DC chrominance Huffman table.static JPEGHuffmanTableStdDCLuminanceThe standard DC luminance Huffman table. -
Constructor Summary
Constructors Constructor Description JPEGHuffmanTable(short[] lengths, short[] values)Creates a Huffman table and initializes it. -
Method Summary
Modifier and Type Method Description short[]getLengths()Returns an array ofshorts containing the number of values for each length in the Huffman table.short[]getValues()Returns an array ofshorts containing the values arranged by increasing length of their corresponding codes.StringtoString()Returns aStringrepresenting this Huffman table.
-
Field Details
-
StdDCLuminance
The standard DC luminance Huffman table. -
StdDCChrominance
The standard DC chrominance Huffman table. -
StdACLuminance
The standard AC luminance Huffman table. -
StdACChrominance
The standard AC chrominance Huffman table.
-
-
Constructor Details
-
JPEGHuffmanTable
public JPEGHuffmanTable(short[] lengths, short[] values)Creates a Huffman table and initializes it. The input arrays are copied. The arrays must describe a possible Huffman table. For example, 3 codes cannot be expressed with a single bit.- Parameters:
lengths- an array ofshorts wherelengths[k]is equal to the number of values with corresponding codes of lengthk + 1bits.values- an array of shorts containing the values in order of increasing code length.- Throws:
IllegalArgumentException- iflengthsorvaluesare null, the length oflengthsis greater than 16, the length ofvaluesis greater than 256, if any value inlengthsorvaluesis less than zero, or if the arrays do not describe a valid Huffman table.
-
-
Method Details
-
getLengths
public short[] getLengths()Returns an array ofshorts containing the number of values for each length in the Huffman table. The returned array is a copy.- Returns:
- a
shortarray wherearray[k-1]is equal to the number of values in the table of lengthk. - See Also:
getValues()
-
getValues
public short[] getValues()Returns an array ofshorts containing the values arranged by increasing length of their corresponding codes. The interpretation of the array is dependent on the values returned fromgetLengths. The returned array is a copy.- Returns:
- a
shortarray of values. - See Also:
getLengths()
-
toString
Returns aStringrepresenting this Huffman table.
-