75 #include "jasper/jas_seq.h" 
   77 #include "jpc_t2cod.h" 
   78 #include "jpc_mqenc.h" 
   80 #include "jpc_tagtree.h" 
   90 #define JPC_NUMEXTRABITS        JPC_NMSEDEC_FRACBITS 
   93 #define JPC_BADRDSLOPE  (-1) 
  104         uint_fast8_t sampgrdstepx;
 
  107         uint_fast8_t sampgrdstepy;
 
  110         uint_fast8_t sampgrdsubstepx;
 
  113         uint_fast8_t sampgrdsubstepy;
 
  122         uint_fast16_t numstepsizes;
 
  125         uint_fast16_t stepsizes[JPC_MAXBANDS];
 
  146         uint_fast16_t numlyrs;
 
  150         jpc_fix_t *ilyrrates;
 
  162         uint_fast8_t maxrlvls;
 
  165         uint_fast16_t cblkwidthexpn;
 
  168         uint_fast16_t cblkheightexpn;
 
  172         uint_fast8_t cblksty;
 
  178         uint_fast16_t prcwidthexpns[JPC_MAXRLVLS];
 
  181         uint_fast16_t prcheightexpns[JPC_MAXRLVLS];
 
  184         uint_fast8_t numgbits;
 
  197         uint_fast32_t imgareatlx;
 
  201         uint_fast32_t imgareatly;
 
  205         uint_fast32_t refgrdwidth;
 
  209         uint_fast32_t refgrdheight;
 
  213         uint_fast32_t tilegrdoffx;
 
  217         uint_fast32_t tilegrdoffy;
 
  220         uint_fast32_t tilewidth;
 
  223         uint_fast32_t tileheight;
 
  227         uint_fast32_t numhtiles;
 
  231         uint_fast32_t numvtiles;
 
  234         uint_fast32_t numtiles;
 
  237         uint_fast16_t numcmpts;
 
  249         uint_fast32_t totalsize;
 
  252         uint_fast32_t rawsize;
 
  277         jpc_mqencstate_t mqencstate;
 
  289         jpc_flt_t cumwmsedec;
 
  304         jpc_enc_pass_t *passes;
 
  316         jas_stream_t *stream;
 
  331         jpc_enc_pass_t *curpass;
 
  334         struct jpc_enc_prc_s *prc;
 
  338         jpc_enc_pass_t *savedcurpass;
 
  346         int savednumencpasses;
 
  352 typedef struct jpc_enc_prc_s {
 
  380         jpc_enc_cblk_t *cblks;
 
  383         jpc_tagtree_t *incltree;
 
  386         jpc_tagtree_t *nlibtree;
 
  389         struct jpc_enc_band_s *band;
 
  393         jpc_tagtree_t *savincltree;
 
  397         jpc_tagtree_t *savnlibtree;
 
  403 typedef struct jpc_enc_band_s {
 
  418         jpc_fix_t absstepsize;
 
  431         struct jpc_enc_rlvl_s *rlvl;
 
  437 typedef struct jpc_enc_rlvl_s {
 
  485         uint_fast16_t cblkwidthexpn;
 
  488         uint_fast16_t cblkheightexpn;
 
  494         jpc_enc_band_t *bands;
 
  497         struct jpc_enc_tcmpt_s *tcmpt;
 
  503 typedef struct jpc_enc_tcmpt_s {
 
  509         jpc_enc_rlvl_t *rlvls;
 
  527         int prcwidthexpns[JPC_MAXRLVLS];
 
  530         int prcheightexpns[JPC_MAXRLVLS];
 
  548         uint_fast16_t stepsizes[JPC_MAXBANDS];
 
  551         struct jpc_enc_tile_s *tile;
 
  557 typedef struct jpc_enc_tile_s {
 
  560         uint_fast32_t tileno;
 
  598         uint_fast32_t *lyrsizes;
 
  604         jpc_enc_tcmpt_t *tcmpts;
 
  607         uint_fast32_t rawsize;
 
  613 typedef struct jpc_enc_s {
 
  625         jpc_enc_tile_t *curtile;
 
  628         jpc_cstate_t *cstate;
 
  635         uint_fast32_t mainbodysize;
 
  642         jas_stream_t *tmpstream;