79 #include "jasper/jas_types.h"    80 #include "jasper/jas_stream.h"    91 #define JPC_BITSTREAM_READ      0x01    93 #define JPC_BITSTREAM_WRITE     0x02   100 #define JPC_BITSTREAM_NOCLOSE   0x01   102 #define JPC_BITSTREAM_EOF       0x02   104 #define JPC_BITSTREAM_ERR       0x04   124         jas_stream_t *stream_;
   136 jpc_bitstream_t *jpc_bitstream_sopen(jas_stream_t *stream, 
char *mode);
   139 int jpc_bitstream_close(jpc_bitstream_t *bitstream);
   147 #define jpc_bitstream_getbit(bitstream) \   148         jpc_bitstream_getbit_func(bitstream)   150 #define jpc_bitstream_getbit(bitstream) \   151         jpc_bitstream_getbit_macro(bitstream)   156 #define jpc_bitstream_putbit(bitstream, v) \   157         jpc_bitstream_putbit_func(bitstream, v)   159 #define jpc_bitstream_putbit(bitstream, v) \   160         jpc_bitstream_putbit_macro(bitstream, v)   164 long jpc_bitstream_getbits(jpc_bitstream_t *bitstream, 
int n);
   167 int jpc_bitstream_putbits(jpc_bitstream_t *bitstream, 
int n, 
long v);
   175 int jpc_bitstream_align(jpc_bitstream_t *bitstream);
   180 int jpc_bitstream_inalign(jpc_bitstream_t *bitstream, 
int fillmask,
   185 int jpc_bitstream_outalign(jpc_bitstream_t *bitstream, 
int filldata);
   188 int jpc_bitstream_needalign(jpc_bitstream_t *bitstream);
   191 int jpc_bitstream_pending(jpc_bitstream_t *bitstream);
   198 #define jpc_bitstream_eof(bitstream) \   199         ((bitstream)->flags_ & JPC_BITSTREAM_EOF)   208 int jpc_bitstream_getbit_func(jpc_bitstream_t *bitstream);
   210 int jpc_bitstream_putbit_func(jpc_bitstream_t *bitstream, 
int v);
   212 int jpc_bitstream_fillbuf(jpc_bitstream_t *bitstream);
   214 #define jpc_bitstream_getbit_macro(bitstream) \   215         (assert((bitstream)->openmode_ & JPC_BITSTREAM_READ), \   216           (--(bitstream)->cnt_ >= 0) ? \   217           ((int)(((bitstream)->buf_ >> (bitstream)->cnt_) & 1)) : \   218           jpc_bitstream_fillbuf(bitstream))   220 #define jpc_bitstream_putbit_macro(bitstream, bit) \   221         (assert((bitstream)->openmode_ & JPC_BITSTREAM_WRITE), \   222           (--(bitstream)->cnt_ < 0) ? \   223           ((bitstream)->buf_ = ((bitstream)->buf_ << 8) & 0xffff, \   224           (bitstream)->cnt_ = ((bitstream)->buf_ == 0xff00) ? 6 : 7, \   225           (bitstream)->buf_ |= ((bit) & 1) << (bitstream)->cnt_, \   226           (jas_stream_putc((bitstream)->stream_, (bitstream)->buf_ >> 8) == EOF) \   227           ? (EOF) : ((bit) & 1)) : \   228           ((bitstream)->buf_ |= ((bit) & 1) << (bitstream)->cnt_, \