[trunk] Enhance support of events like the v2 branch. Use right name of variables.

This commit is contained in:
Mickael Savinaud
2012-05-02 07:01:13 +00:00
parent 8231897b26
commit 055d429ae1
9 changed files with 572 additions and 522 deletions

View File

@@ -79,7 +79,7 @@ typedef int opj_bool; /*FIXME it should be to follow the name of others OPJ_TYPE
typedef char OPJ_CHAR;
typedef float OPJ_FLOAT32;
typedef double OPJ_FLOAT64;
typedef unsigned char OPJ_BYTE;
typedef unsigned char OPJ_BYTE;
#include "opj_stdint.h"
@@ -219,17 +219,25 @@ typedef enum LIMIT_DECODING {
* */
typedef void (*opj_msg_callback) (const char *msg, void *client_data);
/**
* Message handler object used for
* <ul>
* <li>Error messages
* <li>Warning messages
* <li>Debugging messages
* </ul>
* */
typedef struct opj_event_mgr {
/** FIXME DOC */
void* client_data;
/** SHOULD BE MOVE IN EVET.H when we remove old functions
Message handler object
used for
<ul>
<li>Error messages
<li>Warning messages
<li>Debugging messages
</ul>
*/
typedef struct opj_event_mgr
{
/** Data to call the event manager upon */
void * m_error_data;
/** Data to call the event manager upon */
void * m_warning_data;
/** Data to call the event manager upon */
void * m_info_data;
/** Error message callback if available, NULL otherwise */
opj_msg_callback error_handler;
/** Warning message callback if available, NULL otherwise */
@@ -238,7 +246,6 @@ typedef struct opj_event_mgr {
opj_msg_callback info_handler;
} opj_event_mgr_t;
/*
==========================================================
codec typedef definitions
@@ -247,7 +254,8 @@ typedef struct opj_event_mgr {
/**
* Progression order changes
* */
*
*/
typedef struct opj_poc {
/** Resolution num start, Component num start, given by POC */
OPJ_UINT32 resno0, compno0;
@@ -549,6 +557,7 @@ typedef void * opj_codec_t;
/**
Byte input-output stream (CIO)
DEPRECATED
*/
typedef struct opj_cio {
/** codec context */
@@ -568,7 +577,7 @@ typedef struct opj_cio {
unsigned char *end;
/** pointer to the current position */
unsigned char *bp;
} opj_cio_t;
} opj_cio_t;
/*
@@ -951,7 +960,7 @@ typedef struct opj_tile_index {
/**
* Index structure of the codestream (FIXME should be expand and enhance)
*/
typedef struct opj_codestream_index_ {
typedef struct opj_codestream_index {
/** main header start position (SOC position) */
OPJ_OFF_T main_head_start;
/** main header end position (first SOT position) */
@@ -1056,7 +1065,7 @@ OPJ_API opj_image_t* OPJ_CALLCONV opj_image_tile_create(OPJ_UINT32 numcmpts, opj
stream functions definitions
==========================================================
*/
/* CIO functions are DEPRECATED see following stream functions */
/**
Open and allocate a memory stream for read / write.
On reading, the user must provide a buffer containing encoded data. The buffer will be
@@ -1138,7 +1147,6 @@ OPJ_API void OPJ_CALLCONV opj_stream_set_skip_function(opj_stream_t* p_stream, o
*/
OPJ_API void OPJ_CALLCONV opj_stream_set_seek_function(opj_stream_t* p_stream, opj_stream_seek_fn p_function);
/**
* Sets the given data to be used as a user data for the stream.
* @param p_stream the stream to modify
@@ -1153,7 +1161,6 @@ OPJ_API void OPJ_CALLCONV opj_stream_set_user_data (opj_stream_t* p_stream, void
*/
OPJ_API void OPJ_CALLCONV opj_stream_set_user_data_length(opj_stream_t* p_stream, OPJ_UINT64 data_length);
/**
* Helper function.
* Sets the stream to be a file stream. The FILE must have been open previously.
@@ -1170,23 +1177,14 @@ OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_create_file_stream (FILE * p_file,
event manager functions definitions
==========================================================
*/
OPJ_API opj_bool OPJ_CALLCONV opj_set_info_handler(opj_codec_t * p_codec, opj_msg_callback p_callback,void * p_user_data);
OPJ_API opj_bool OPJ_CALLCONV opj_set_warning_handler(opj_codec_t * p_codec, opj_msg_callback p_callback,void * p_user_data);
OPJ_API opj_bool OPJ_CALLCONV opj_set_error_handler(opj_codec_t * p_codec, opj_msg_callback p_callback,void * p_user_data);
/**
*/
DEPRECATED( OPJ_API opj_event_mgr_t* OPJ_CALLCONV opj_set_event_mgr(opj_common_ptr cinfo, opj_event_mgr_t *event_mgr, void *context));
/**
* Initialize a default event handler. This function set the output of message event to be stderr for warning and error output
* and stdout for info output in the verbose mode. In the case of the non-verbose mode only the error message are displayed.
* You can initialize your own event handler struct when you fill the field of the event structure. If you provide a null
* structure to the opj_setup_decoder function, no output will be displayed.
*
* @param p_manager a opj_event_mgr structure which will be pass to the codec.
*
*/
OPJ_API void OPJ_CALLCONV opj_initialize_default_event_handler(opj_event_mgr_t * p_manager, opj_bool verbose);
/*
==========================================================
codec functions definitions
@@ -1214,17 +1212,26 @@ Destroy a decompressor handle
*/
DEPRECATED( OPJ_API void OPJ_CALLCONV opj_destroy_decompress(opj_dinfo_t *dinfo) );
/**
* Destroy a decompressor handle
*
* @param p_codec decompressor handle to destroy
*/
OPJ_API void OPJ_CALLCONV opj_destroy_codec(opj_codec_t * p_codec);
/**
* Read after the codestream if necessary
* @param p_codec the JPEG2000 codec to read.
* @param p_stream the JPEG2000 stream.
*/
OPJ_API opj_bool OPJ_CALLCONV opj_end_decompress ( opj_codec_t *p_codec,
opj_stream_t *p_cio);
opj_stream_t *p_stream);
/**
Set decoding parameters to default values
@param parameters Decompression parameters
*/
* Set decoding parameters to default values
* @param parameters Decompression parameters
*/
OPJ_API void OPJ_CALLCONV opj_set_default_decoder_parameters(opj_dparameters_t *parameters);
/**
@@ -1240,26 +1247,24 @@ DEPRECATED( OPJ_API void OPJ_CALLCONV opj_setup_decoder(opj_dinfo_t *dinfo, opj_
* Setup the decoder with decompression parameters provided by the user and with the message handler
* provided by the user.
*
* @param dinfo decompressor handlers
* @param p_codec decompressor handler
* @param parameters decompression parameters
* @param event_mgr message handler
*
* @return true if the decoder is correctly set
*/
OPJ_API opj_bool OPJ_CALLCONV opj_setup_decoder_v2( opj_codec_t *p_info,
opj_dparameters_t *parameters,
opj_event_mgr_t* event_mgr);
OPJ_API opj_bool OPJ_CALLCONV opj_setup_decoder_v2( opj_codec_t *p_codec,
opj_dparameters_t *parameters );
/**
* Decodes an image header.
*
* @param p_cio the jpeg2000 stream.
* @param p_stream the jpeg2000 stream.
* @param p_codec the jpeg2000 codec to read.
* @param p_image the image structure initialized with the characteristics of encoded image.
*
* @return true if the main header of the codestream and the JP2 header is correctly read.
*/
OPJ_API opj_bool OPJ_CALLCONV opj_read_header ( opj_stream_t *p_cio,
OPJ_API opj_bool OPJ_CALLCONV opj_read_header ( opj_stream_t *p_stream,
opj_codec_t *p_codec,
opj_image_t **p_image);
@@ -1289,41 +1294,38 @@ DEPRECATED( OPJ_API opj_image_t* OPJ_CALLCONV opj_decode(opj_dinfo_t *dinfo, opj
/**
* Decode an image from a JPEG-2000 codestream
* @param p_decompressor decompressor handle
* @param cio Input buffer stream
* @param p_image the decoded image
* @return Returns a true on success, otherwise false
* @param p_decompressor decompressor handle
* @param p_stream Input buffer stream
* @param p_image the decoded image
* @return true if success, otherwise false
* */
OPJ_API opj_bool OPJ_CALLCONV opj_decode_v2(opj_codec_t *p_decompressor,
opj_stream_t * cio,
opj_stream_t *p_stream,
opj_image_t *p_image);
/**
* Get the decoded tile from the codec
* @param p_codec the jpeg2000 codec.
* @param p_cio input streamm
* @param p_stream input streamm
* @param p_image output image
* @param tile_index index of the tile which will be decode
*
* @return opj_true if all is ok.
* @return true if success, otherwise false
*/
OPJ_API opj_bool OPJ_CALLCONV opj_get_decoded_tile( opj_codec_t *p_codec,
opj_stream_t *p_cio,
opj_stream_t *p_stream,
opj_image_t *p_image,
OPJ_UINT32 tile_index);
/**
* Set the resolution factor of the decoded image
* @param p_codec the jpeg2000 codec.
* @param res_factor resolution factor to set
*
* @return opj_true if all is ok.
* @return true if success, otherwise false
*/
OPJ_API opj_bool OPJ_CALLCONV opj_set_decoded_resolution_factor(opj_codec_t *p_codec, OPJ_UINT32 res_factor);
/**
* Writes a tile with the given data.
*
@@ -1342,8 +1344,6 @@ OPJ_API opj_bool OPJ_CALLCONV opj_write_tile ( opj_codec_t *p_codec,
OPJ_UINT32 p_data_size,
opj_stream_t *p_stream );
/**
* Reads a tile header. This function is compulsory and allows one to know the size of the tile thta will be decoded.
* The user may need to refer to the image got by opj_read_header to understand the size being taken by the tile.
@@ -1374,7 +1374,6 @@ OPJ_API opj_bool OPJ_CALLCONV opj_read_tile_header( opj_codec_t *p_codec,
OPJ_UINT32 * p_nb_comps,
opj_bool * p_should_go_on );
/**
* Reads a tile data. This function is compulsory and allows one to decode tile data. opj_read_tile_header should be called before.
* The user may need to refer to the image got by opj_read_header to understand the size being taken by the tile.
@@ -1393,7 +1392,6 @@ OPJ_API opj_bool OPJ_CALLCONV opj_decode_tile_data( opj_codec_t *p_codec,
OPJ_UINT32 p_data_size,
opj_stream_t *p_stream );
/**
Decode an image from a JPEG-2000 codestream and extract the codestream information
@param dinfo decompressor handle
@@ -1410,21 +1408,21 @@ Creates a J2K/JP2 compression structure
@param format Coder to select
@return Returns a handle to a compressor if successful, returns NULL otherwise
*/
OPJ_API opj_cinfo_t* OPJ_CALLCONV opj_create_compress(OPJ_CODEC_FORMAT format);
DEPRECATED( OPJ_API opj_cinfo_t* OPJ_CALLCONV opj_create_compress(OPJ_CODEC_FORMAT format));
/**
Creates a J2K/JP2 compression structure
@param format Coder to select
@return Returns a handle to a compressor if successful, returns NULL otherwise
*/
* Creates a J2K/JP2 compression structure
* @param format Coder to select
* @return Returns a handle to a compressor if successful, returns NULL otherwise
*/
OPJ_API opj_codec_t* OPJ_CALLCONV opj_create_compress_v2(OPJ_CODEC_FORMAT format);
/**
Destroy a compressor handle
@param cinfo compressor handle to destroy
*/
OPJ_API void OPJ_CALLCONV opj_destroy_compress(opj_cinfo_t *cinfo);
DEPRECATED(OPJ_API void OPJ_CALLCONV opj_destroy_compress(opj_cinfo_t *cinfo) );
/**
Set encoding parameters to default values, that means :
<ul>
@@ -1447,38 +1445,46 @@ Set encoding parameters to default values, that means :
@param parameters Compression parameters
*/
OPJ_API void OPJ_CALLCONV opj_set_default_encoder_parameters(opj_cparameters_t *parameters);
/**
Setup the encoder parameters using the current image and using user parameters.
@param cinfo Compressor handle
@param parameters Compression parameters
@param image Input filled image
*/
OPJ_API void OPJ_CALLCONV opj_setup_encoder(opj_cinfo_t *cinfo, opj_cparameters_t *parameters, opj_image_t *image);
DEPRECATED(OPJ_API void OPJ_CALLCONV opj_setup_encoder(opj_cinfo_t *cinfo, opj_cparameters_t *parameters, opj_image_t *image) );
/**
Setup the encoder parameters using the current image and using user parameters.
@param cinfo Compressor handle
@param parameters Compression parameters
@param image Input filled image
*/
OPJ_API opj_bool OPJ_CALLCONV opj_setup_encoder_v2(opj_codec_t *cinfo, opj_cparameters_t *parameters, opj_image_t *image);
* Setup the encoder parameters using the current image and using user parameters.
* @param p_codec Compressor handle
* @param parameters Compression parameters
* @param image Input filled image
*/
OPJ_API opj_bool OPJ_CALLCONV opj_setup_encoder_v2( opj_codec_t *p_codec,
opj_cparameters_t *parameters,
opj_image_t *image);
/**
*/
OPJ_API opj_bool OPJ_CALLCONV opj_start_compress ( opj_codec_t *p_codec,
opj_image_t * p_image,
opj_stream_t *p_cio);
OPJ_API opj_bool OPJ_CALLCONV opj_end_compress (opj_codec_t *p_codec,opj_stream_t *p_cio);
opj_image_t * p_image,
opj_stream_t *p_cio);
/**
Encode an image into a JPEG-2000 codestream
@param cinfo compressor handle
@param cio Output buffer stream
@param image Image to encode
@param index Depreacted -> Set to NULL. To extract index, used opj_encode_wci()
@return Returns true if successful, returns false otherwise
*/
OPJ_API opj_bool OPJ_CALLCONV opj_encode_v2(opj_codec_t *cinfo, opj_stream_t * cio);
*/
OPJ_API opj_bool OPJ_CALLCONV opj_end_compress (opj_codec_t *p_codec,
opj_stream_t *p_stream);
/**
* Encode an image into a JPEG-2000 codestream
* @param p_codec compressor handle
* @param p_stream Output buffer stream
* @param image Image to encode
*
* @return Returns true if successful, returns false otherwise
*/
OPJ_API opj_bool OPJ_CALLCONV opj_encode_v2(opj_codec_t *p_codec,
opj_stream_t *p_stream);
/**
Encode an image into a JPEG-2000 codestream
@@ -1488,7 +1494,7 @@ Encode an image into a JPEG-2000 codestream
@param index Depreacted -> Set to NULL. To extract index, used opj_encode_wci()
@return Returns true if successful, returns false otherwise
*/
OPJ_API opj_bool OPJ_CALLCONV opj_encode(opj_cinfo_t *cinfo, opj_cio_t *cio, opj_image_t *image, char *index);
DEPRECATED( OPJ_API opj_bool OPJ_CALLCONV opj_encode(opj_cinfo_t *cinfo, opj_cio_t *cio, opj_image_t *image, char *index) );
/**
Encode an image into a JPEG-2000 codestream and extract the codestream information
@param cinfo compressor handle
@@ -1497,9 +1503,7 @@ Encode an image into a JPEG-2000 codestream and extract the codestream informati
@param cstr_info Codestream information structure if needed afterwards, NULL otherwise
@return Returns true if successful, returns false otherwise
*/
OPJ_API opj_bool OPJ_CALLCONV opj_encode_with_info(opj_cinfo_t *cinfo, opj_cio_t *cio, opj_image_t *image, opj_codestream_info_t *cstr_info);
DEPRECATED( OPJ_API opj_bool OPJ_CALLCONV opj_encode_with_info(opj_cinfo_t *cinfo, opj_cio_t *cio, opj_image_t *image, opj_codestream_info_t *cstr_info) );
/**
@@ -1512,16 +1516,6 @@ OPJ_API void OPJ_CALLCONV opj_destroy_cstr_info_v2(opj_codestream_info_v2_t **cs
/**
* Destroy a decompressor handle
*
* @param p_codec decompressor handle to destroy
*/
OPJ_API void OPJ_CALLCONV opj_destroy_codec(opj_codec_t * p_codec);
/*
==========================================================
codec output functions definitions
@@ -1612,5 +1606,3 @@ OPJ_API opj_bool OPJ_CALLCONV opj_set_MCT( opj_cparameters_t *parameters,
#endif
#endif /* OPENJPEG_H */