Create separate type for bit-fields.

The definition of bit-fields with type OPJ_UINT32 caused complilation errors
on IBM iSeries, because OPJ_UINT32 is defined as uint32_t, and
uint32_t is defined as unsigned long in <stdint.h>. The definition of
bit-fields with an integer type of  a specific size doesn't make sense
anyway.
This commit is contained in:
Stephan Mühlstrasser 2016-07-25 20:46:11 +02:00
parent b8bd1b0e07
commit d2d35bf6c2
3 changed files with 19 additions and 17 deletions

View File

@ -228,7 +228,7 @@ typedef struct opj_simple_mcc_decorrelation_data
OPJ_UINT32 m_nb_comps; OPJ_UINT32 m_nb_comps;
opj_mct_data_t * m_decorrelation_array; opj_mct_data_t * m_decorrelation_array;
opj_mct_data_t * m_offset_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; opj_simple_mcc_decorrelation_data_t;
@ -306,11 +306,11 @@ typedef struct opj_tcp
/***** FLAGS *******/ /***** FLAGS *******/
/** If cod == 1 --> there was a COD marker for the present tile */ /** If cod == 1 --> there was a COD marker for the present tile */
OPJ_UINT32 cod : 1; OPJ_BITFIELD cod : 1;
/** If ppt == 1 --> there was a PPT marker for the present tile */ /** 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 */ /** indicates if a POC marker has been used O:NO, 1:YES */
OPJ_UINT32 POC : 1; OPJ_BITFIELD POC : 1;
} opj_tcp_t; } opj_tcp_t;
@ -327,13 +327,13 @@ typedef struct opj_encoding_param
/** Flag determining tile part generation*/ /** Flag determining tile part generation*/
OPJ_BYTE m_tp_flag; OPJ_BYTE m_tp_flag;
/** allocation by rate/distortion */ /** allocation by rate/distortion */
OPJ_UINT32 m_disto_alloc : 1; OPJ_BITFIELD m_disto_alloc : 1;
/** allocation by fixed layer */ /** allocation by fixed layer */
OPJ_UINT32 m_fixed_alloc : 1; OPJ_BITFIELD m_fixed_alloc : 1;
/** add fixed_quality */ /** add fixed_quality */
OPJ_UINT32 m_fixed_quality : 1; OPJ_BITFIELD m_fixed_quality : 1;
/** Enabling Tile part generation*/ /** Enabling Tile part generation*/
OPJ_UINT32 m_tp_on : 1; OPJ_BITFIELD m_tp_on : 1;
} }
opj_encoding_param_t; opj_encoding_param_t;
@ -453,9 +453,9 @@ typedef struct opj_cp
/******** FLAGS *********/ /******** FLAGS *********/
/** if ppm == 1 --> there was a PPM marker*/ /** 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 */ /** tells if the parameter is a coding or decoding one */
OPJ_UINT32 m_is_decoder : 1; OPJ_BITFIELD m_is_decoder : 1;
/* <<UniPG */ /* <<UniPG */
} opj_cp_t; } opj_cp_t;
@ -497,12 +497,12 @@ typedef struct opj_j2k_dec
*/ */
OPJ_BOOL m_last_tile_part; OPJ_BOOL m_last_tile_part;
/** to tell that a tile can be decoded. */ /** to tell that a tile can be decoded. */
OPJ_UINT32 m_can_decode : 1; OPJ_BITFIELD m_can_decode : 1;
OPJ_UINT32 m_discard_tiles : 1; OPJ_BITFIELD m_discard_tiles : 1;
OPJ_UINT32 m_skip_data : 1; OPJ_BITFIELD m_skip_data : 1;
/** TNsot correction : see issue 254 **/ /** TNsot correction : see issue 254 **/
OPJ_UINT32 m_nb_tile_parts_correction_checked : 1; OPJ_BITFIELD m_nb_tile_parts_correction_checked : 1;
OPJ_UINT32 m_nb_tile_parts_correction : 1; OPJ_BITFIELD m_nb_tile_parts_correction : 1;
} opj_j2k_dec_t; } opj_j2k_dec_t;

View File

@ -129,6 +129,8 @@ typedef uint64_t OPJ_UINT64;
typedef int64_t OPJ_OFF_T; /* 64-bit file offset type */ typedef int64_t OPJ_OFF_T; /* 64-bit file offset type */
typedef unsigned int OPJ_BITFIELD;
#include <stdio.h> #include <stdio.h>
typedef size_t OPJ_SIZE_T; typedef size_t OPJ_SIZE_T;

View File

@ -70,7 +70,7 @@ typedef struct opj_tcd_pass {
OPJ_UINT32 rate; OPJ_UINT32 rate;
OPJ_FLOAT64 distortiondec; OPJ_FLOAT64 distortiondec;
OPJ_UINT32 len; OPJ_UINT32 len;
OPJ_UINT32 term : 1; OPJ_BITFIELD term : 1;
} opj_tcd_pass_t; } opj_tcd_pass_t;
/** /**
@ -219,7 +219,7 @@ typedef struct opj_tcd
/** current encoded/decoded tile */ /** current encoded/decoded tile */
OPJ_UINT32 tcd_tileno; OPJ_UINT32 tcd_tileno;
/** tell if the tcd is a decoder. */ /** tell if the tcd is a decoder. */
OPJ_UINT32 m_is_decoder : 1; OPJ_BITFIELD m_is_decoder : 1;
} opj_tcd_t; } opj_tcd_t;
/** @name Exported functions */ /** @name Exported functions */