summaryrefslogtreecommitdiff
path: root/libjava/gnu/javax/imageio/jpeg/HuffmanTable.h
blob: 794b2624da124d6e130971e779ea11a9cccc2213 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __gnu_javax_imageio_jpeg_HuffmanTable__
#define __gnu_javax_imageio_jpeg_HuffmanTable__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace javax
    {
      namespace imageio
      {
        namespace jpeg
        {
            class HuffmanTable;
            class JPEGImageInputStream;
        }
      }
    }
  }
  namespace javax
  {
    namespace imageio
    {
      namespace plugins
      {
        namespace jpeg
        {
            class JPEGHuffmanTable;
        }
      }
    }
  }
}

class gnu::javax::imageio::jpeg::HuffmanTable : public ::java::lang::Object
{

public:
  HuffmanTable(::javax::imageio::plugins::jpeg::JPEGHuffmanTable *);
private:
  void generateSizeTable();
  void generateCodeTable();
  void generateDecoderTables();
public:
  virtual void orderCodes(jboolean);
  static jint extend(jint, jint);
  virtual jint decode(::gnu::javax::imageio::jpeg::JPEGImageInputStream *);
  static const jint HUFFMAN_MAX_TABLES = 4;
private:
  JArray< jshort > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) huffcode;
  JArray< jshort > * huffsize;
  JArray< jshort > * EHUFCO;
  JArray< jshort > * EHUFSI;
  JArray< jshort > * valptr;
  JArray< jshort > * mincode;
  JArray< jshort > * maxcode;
  JArray< jshort > * huffval;
  JArray< jshort > * bits;
public: // actually package-private
  static jbyte JPEG_DC_TABLE;
  static jbyte JPEG_AC_TABLE;
private:
  jshort lastk;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_javax_imageio_jpeg_HuffmanTable__