remove deprecated v1 style function j2k_create_decompress and jp2_create_decompress
[openjpeg.git] / libopenjpeg / j2k.h
index 2ec8980d3d1b2e648a9be00678fa1a49b4570fc1..977847e86f352b87d2c7ca6e7f5aeb377e282434 100644 (file)
@@ -107,6 +107,7 @@ The functions in J2K.C have for goal to read/write the several parts of the code
  * These values may be combined with a | operator.
  * */
 typedef enum J2K_STATUS {
+       J2K_STATE_NONE  =  0x0000, /**< a SOC marker is expected */
        J2K_STATE_MHSOC  = 0x0001, /**< a SOC marker is expected */
        J2K_STATE_MHSIZ  = 0x0002, /**< a SIZ marker is expected */
        J2K_STATE_MH     = 0x0004, /**< the decoding process is in the main header */
@@ -485,9 +486,9 @@ typedef struct opj_cp_v2
        /** Rsiz*/
        OPJ_RSIZ_CAPABILITIES rsiz;
        /** XTOsiz */
-       OPJ_UINT32 tx0; // MSD see norm
+       OPJ_UINT32 tx0; /* MSD see norm */
        /** YTOsiz */
-       OPJ_UINT32 ty0; // MSD see norm
+       OPJ_UINT32 ty0; /* MSD see norm */
        /** XTsiz */
        OPJ_UINT32 tdx;
        /** YTsiz */
@@ -629,10 +630,10 @@ typedef struct opj_j2k_dec
 typedef struct opj_j2k_enc
 {
        /** Tile part number, regardless of poc, for each new poc, tp is reset to 1*/
-       OPJ_UINT32 m_current_poc_tile_part_number; // tp_num
+       OPJ_UINT32 m_current_poc_tile_part_number; /* tp_num */
 
        /** 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
+       OPJ_UINT32 m_current_tile_part_number; /*cur_tp_num */
 
        /**
        locate the start position of the TLM marker
@@ -650,7 +651,7 @@ typedef struct opj_j2k_enc
 
        /** Total num of tile parts in whole image = num tiles* num tileparts in each tile*/
        /** used in TLMmarker*/
-       OPJ_UINT32 m_total_tile_parts;   // totnum_tp
+       OPJ_UINT32 m_total_tile_parts;   /* totnum_tp */
 
        /* encoded data for a tile */
        OPJ_BYTE * m_encoded_tile_data;
@@ -777,12 +778,7 @@ opj_j2k_v2_t;
 /** @name Exported functions */
 /*@{*/
 /* ----------------------------------------------------------------------- */
-/**
-Creates a J2K decompression structure
-@param cinfo Codec context info
-@return Returns a handle to a J2K decompressor if successful, returns NULL otherwise
-*/
-opj_j2k_t* j2k_create_decompress(opj_common_ptr cinfo);
+
 /**
 Destroy a J2K decompressor handle
 @param j2k J2K decompressor handle to destroy
@@ -826,7 +822,7 @@ Creates a J2K compression structure
 @param cinfo Codec context info
 @return Returns a handle to a J2K compressor if successful, returns NULL otherwise
 */
-opj_j2k_v2_t* j2k_create_compress_v2();
+opj_j2k_v2_t* j2k_create_compress_v2(void);
 
 /**
 Destroy a J2K compressor handle
@@ -841,6 +837,12 @@ Coding parameters are returned in j2k->cp.
 @param image input filled image
 */
 void j2k_setup_encoder(opj_j2k_t *j2k, opj_cparameters_t *parameters, opj_image_t *image);
+
+void j2k_setup_encoder_v2(     opj_j2k_v2_t *p_j2k,
+                                                       opj_cparameters_t *parameters,
+                                                       opj_image_t *image,
+                                                       struct opj_event_mgr * p_manager);
+
 /**
 Converts an enum type progression order to string type
 */
@@ -954,7 +956,7 @@ opj_bool j2k_set_decode_area(       opj_j2k_v2_t *p_j2k,
  *
  * @return a handle to a J2K decompressor if successful, NULL otherwise.
  */
-opj_j2k_v2_t* j2k_create_decompress_v2();
+opj_j2k_v2_t* j2k_create_decompress_v2(void);
 
 
 /**
@@ -1024,4 +1026,49 @@ opj_bool j2k_get_tile(   opj_j2k_v2_t *p_j2k,
 opj_bool j2k_set_decoded_resolution_factor(opj_j2k_v2_t *p_j2k, OPJ_UINT32 res_factor, opj_event_mgr_t * p_manager);
 
 
+/**
+ * Writes a tile.
+ * @param      p_j2k           the jpeg2000 codec.
+ * @param      p_stream                        the stream to write data to.
+ * @param      p_manager       the user event manager.
+ */
+opj_bool j2k_write_tile (      opj_j2k_v2_t * p_j2k,
+                                                       OPJ_UINT32 p_tile_index,
+                                                       OPJ_BYTE * p_data,
+                                                       OPJ_UINT32 p_data_size,
+                                                       struct opj_stream_private *p_stream,
+                                                       struct opj_event_mgr * p_manager );
+
+/**
+ * Encodes an image into a JPEG-2000 codestream
+ */
+opj_bool j2k_encode_v2(        opj_j2k_v2_t * p_j2k,
+                                               opj_stream_private_t *cio,
+                                               struct opj_event_mgr * p_manager );
+
+/**
+ * Starts a compression scheme, i.e. validates the codec parameters, writes the header.
+ *
+ * @param      p_j2k           the jpeg2000 codec.
+ * @param      cio                     the stream object.
+ * @param      p_manager       the user event manager.
+ *
+ * @return true if the codec is valid.
+ */
+opj_bool j2k_start_compress(opj_j2k_v2_t *p_j2k,
+                                                       struct opj_stream_private *cio,
+                                                       struct opj_image * p_image,
+                                                       struct opj_event_mgr * p_manager );
+
+/**
+ * Ends the compression procedures and possibiliy add data to be read after the
+ * codestream.
+ */
+opj_bool j2k_end_compress(     opj_j2k_v2_t *p_j2k,
+                                                       opj_stream_private_t *cio,
+                                                       struct opj_event_mgr * p_manager);
+
+opj_bool j2k_setup_mct_encoding (opj_tcp_v2_t * p_tcp, opj_image_t * p_image);
+
+
 #endif /* __J2K_H */