summaryrefslogtreecommitdiff
path: root/openjpeg/src/lib/openjp2/j2k.h
diff options
context:
space:
mode:
Diffstat (limited to 'openjpeg/src/lib/openjp2/j2k.h')
-rw-r--r--openjpeg/src/lib/openjp2/j2k.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/openjpeg/src/lib/openjp2/j2k.h b/openjpeg/src/lib/openjp2/j2k.h
index 9eb50b50d..04fba645a 100644
--- a/openjpeg/src/lib/openjp2/j2k.h
+++ b/openjpeg/src/lib/openjp2/j2k.h
@@ -61,6 +61,8 @@ The functions in J2K.C have for goal to read/write the several parts of the code
#define J2K_CCP_CBLKSTY_VSC 0x08 /**< Vertically stripe causal context */
#define J2K_CCP_CBLKSTY_PTERM 0x10 /**< Predictable termination */
#define J2K_CCP_CBLKSTY_SEGSYM 0x20 /**< Segmentation symbols are used */
+#define J2K_CCP_CBLKSTY_HT 0x40 /**< (high throughput) HT codeblocks */
+#define J2K_CCP_CBLKSTY_HTMIXED 0x80 /**< MIXED mode HT codeblocks */
#define J2K_CCP_QNTSTY_NOQNT 0
#define J2K_CCP_QNTSTY_SIQNT 1
#define J2K_CCP_QNTSTY_SEQNT 2
@@ -71,9 +73,11 @@ The functions in J2K.C have for goal to read/write the several parts of the code
#define J2K_MS_SOT 0xff90 /**< SOT marker value */
#define J2K_MS_SOD 0xff93 /**< SOD marker value */
#define J2K_MS_EOC 0xffd9 /**< EOC marker value */
+#define J2K_MS_CAP 0xff50 /**< CAP marker value */
#define J2K_MS_SIZ 0xff51 /**< SIZ marker value */
#define J2K_MS_COD 0xff52 /**< COD marker value */
#define J2K_MS_COC 0xff53 /**< COC marker value */
+#define J2K_MS_CPF 0xff59 /**< CPF marker value */
#define J2K_MS_RGN 0xff5e /**< RGN marker value */
#define J2K_MS_QCD 0xff5c /**< QCD marker value */
#define J2K_MS_QCC 0xff5d /**< QCC marker value */
@@ -398,6 +402,8 @@ typedef struct opj_cp {
}
m_specific_param;
+ /** OPJ_TRUE if entire bit stream must be decoded, OPJ_FALSE if partial bitstream decoding allowed */
+ OPJ_BOOL strict;
/* UniPG>> */
#ifdef USE_JPWL
@@ -503,6 +509,12 @@ typedef struct opj_j2k_enc {
/** Tile part number currently coding, taking into account POC. m_current_tile_part_number holds the total number of tile parts while encoding the last tile part.*/
OPJ_UINT32 m_current_tile_part_number; /*cur_tp_num */
+ /* whether to generate TLM markers */
+ OPJ_BOOL m_TLM;
+
+ /* whether the Ttlmi field in a TLM marker is a byte (otherwise a uint16) */
+ OPJ_BOOL m_Ttlmi_is_byte;
+
/**
locate the start position of the TLM marker
after encoding the tilepart, a jump (in j2k_write_sod) is done to the TLM marker to store the value of its length.
@@ -540,6 +552,9 @@ typedef struct opj_j2k_enc {
/* reserved bytes in m_encoded_tile_size for PLT markers */
OPJ_UINT32 m_reserved_bytes_for_PLT;
+ /** Number of components */
+ OPJ_UINT32 m_nb_comps;
+
} opj_j2k_enc_t;
@@ -612,6 +627,8 @@ Decoding parameters are returned in j2k->cp.
*/
void opj_j2k_setup_decoder(opj_j2k_t *j2k, opj_dparameters_t *parameters);
+void opj_j2k_decoder_set_strict_mode(opj_j2k_t *j2k, OPJ_BOOL strict);
+
OPJ_BOOL opj_j2k_set_threads(opj_j2k_t *j2k, OPJ_UINT32 num_threads);
/**