OPJ_UINT32 m_nb_comps;
opj_mct_data_t * m_decorrelation_array;
opj_mct_data_t * m_offset_array;
- OPJ_UINT32 m_is_irreversible : 1;
+ OPJ_BITFIELD m_is_irreversible : 1;
}
opj_simple_mcc_decorrelation_data_t;
+typedef struct opj_ppx_struct
+{
+ OPJ_BYTE* m_data; /* m_data == NULL => Zppx not read yet */
+ OPJ_UINT32 m_data_size;
+} opj_ppx;
+
/**
Tile coding parameters :
this structure is used to store coding/decoding parameters common to all
OPJ_UINT32 numpocs;
/** progression order changes */
opj_poc_t pocs[32];
- /** packet header store there for futur use in t2_decode_packet */
+
+ /** number of ppt markers (reserved size) */
+ OPJ_UINT32 ppt_markers_count;
+ /** ppt markers data (table indexed by Zppt) */
+ opj_ppx* ppt_markers;
+
+ /** packet header store there for future use in t2_decode_packet */
OPJ_BYTE *ppt_data;
/** used to keep a track of the allocated memory */
OPJ_BYTE *ppt_buffer;
/***** FLAGS *******/
+ /** If cod == 1 --> there was a COD marker for the present tile */
+ OPJ_BITFIELD cod : 1;
/** If ppt == 1 --> there was a PPT marker for the present tile */
- OPJ_UINT32 ppt : 1;
+ OPJ_BITFIELD ppt : 1;
/** indicates if a POC marker has been used O:NO, 1:YES */
- OPJ_UINT32 POC : 1;
+ OPJ_BITFIELD POC : 1;
} opj_tcp_t;
/** Flag determining tile part generation*/
OPJ_BYTE m_tp_flag;
/** allocation by rate/distortion */
- OPJ_UINT32 m_disto_alloc : 1;
+ OPJ_BITFIELD m_disto_alloc : 1;
/** allocation by fixed layer */
- OPJ_UINT32 m_fixed_alloc : 1;
+ OPJ_BITFIELD m_fixed_alloc : 1;
/** add fixed_quality */
- OPJ_UINT32 m_fixed_quality : 1;
+ OPJ_BITFIELD m_fixed_quality : 1;
/** Enabling Tile part generation*/
- OPJ_UINT32 m_tp_on : 1;
+ OPJ_BITFIELD m_tp_on : 1;
}
opj_encoding_param_t;
/** number of tiles in heigth */
OPJ_UINT32 th;
- /** packet header store there for futur use in t2_decode_packet */
+ /** number of ppm markers (reserved size) */
+ OPJ_UINT32 ppm_markers_count;
+ /** ppm markers data (table indexed by Zppm) */
+ opj_ppx* ppm_markers;
+
+ /** packet header store there for future use in t2_decode_packet */
OPJ_BYTE *ppm_data;
/** size of the ppm_data*/
OPJ_UINT32 ppm_len;
/******** FLAGS *********/
/** if ppm == 1 --> there was a PPM marker*/
- OPJ_UINT32 ppm : 1;
+ OPJ_BITFIELD ppm : 1;
/** tells if the parameter is a coding or decoding one */
- OPJ_UINT32 m_is_decoder : 1;
+ OPJ_BITFIELD m_is_decoder : 1;
/* <<UniPG */
} opj_cp_t;
*/
OPJ_BOOL m_last_tile_part;
/** to tell that a tile can be decoded. */
- OPJ_UINT32 m_can_decode : 1;
- OPJ_UINT32 m_discard_tiles : 1;
- OPJ_UINT32 m_skip_data : 1;
+ OPJ_BITFIELD m_can_decode : 1;
+ OPJ_BITFIELD m_discard_tiles : 1;
+ OPJ_BITFIELD m_skip_data : 1;
/** TNsot correction : see issue 254 **/
- OPJ_UINT32 m_nb_tile_parts_correction_checked : 1;
- OPJ_UINT32 m_nb_tile_parts_correction : 1;
+ OPJ_BITFIELD m_nb_tile_parts_correction_checked : 1;
+ OPJ_BITFIELD m_nb_tile_parts_correction : 1;
} opj_j2k_dec_t;