summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorAntonin Descampe <antonin@gmail.com>2016-09-13 21:21:11 +0200
committerAntonin Descampe <antonin@gmail.com>2016-09-13 21:21:11 +0200
commitf66e1204523415e8936c237ce9cc759e2185708f (patch)
treeb3439d73132c65128717ad358c3de0131766df78 /src/lib
parentd6d0f070e179fc195849aacd842c92f79653934f (diff)
parent8750e183c652de44d332e786842ca33182c375be (diff)
Merge branch 'bit-fields-type' of https://github.com/smuehlst/openjpeg into smuehlst-bit-fields-type
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/openjp2/j2k.h30
-rw-r--r--src/lib/openjp2/opj_includes.h3
-rw-r--r--src/lib/openjp2/tcd.h4
3 files changed, 20 insertions, 17 deletions
diff --git a/src/lib/openjp2/j2k.h b/src/lib/openjp2/j2k.h
index be85d5d9..7e68b3af 100644
--- a/src/lib/openjp2/j2k.h
+++ b/src/lib/openjp2/j2k.h
@@ -228,7 +228,7 @@ typedef struct opj_simple_mcc_decorrelation_data
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;
@@ -306,11 +306,11 @@ typedef struct opj_tcp
/***** FLAGS *******/
/** 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 */
- 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;
@@ -327,13 +327,13 @@ typedef struct opj_encoding_param
/** 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;
@@ -453,9 +453,9 @@ typedef struct opj_cp
/******** 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;
@@ -497,12 +497,12 @@ typedef struct opj_j2k_dec
*/
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;
diff --git a/src/lib/openjp2/opj_includes.h b/src/lib/openjp2/opj_includes.h
index 66323e94..3576877c 100644
--- a/src/lib/openjp2/opj_includes.h
+++ b/src/lib/openjp2/opj_includes.h
@@ -183,6 +183,9 @@ static INLINE long opj_lrintf(float f) {
# pragma intrinsic(__emul)
#endif
+/* Type to use for bit-fields in internal headers */
+typedef unsigned int OPJ_BITFIELD;
+
#include "opj_inttypes.h"
#include "opj_clock.h"
#include "opj_malloc.h"
diff --git a/src/lib/openjp2/tcd.h b/src/lib/openjp2/tcd.h
index 77817bf6..76eff005 100644
--- a/src/lib/openjp2/tcd.h
+++ b/src/lib/openjp2/tcd.h
@@ -70,7 +70,7 @@ typedef struct opj_tcd_pass {
OPJ_UINT32 rate;
OPJ_FLOAT64 distortiondec;
OPJ_UINT32 len;
- OPJ_UINT32 term : 1;
+ OPJ_BITFIELD term : 1;
} opj_tcd_pass_t;
/**
@@ -219,7 +219,7 @@ typedef struct opj_tcd
/** current encoded/decoded tile */
OPJ_UINT32 tcd_tileno;
/** tell if the tcd is a decoder. */
- OPJ_UINT32 m_is_decoder : 1;
+ OPJ_BITFIELD m_is_decoder : 1;
/** Thread pool */
opj_thread_pool_t* thread_pool;
} opj_tcd_t;