ABI
Tracker

(OpenJPEG)




Headers diff: 2.3.1 vs 2.4.0



 openjpeg.h (2.3.1)   openjpeg.h (2.4.0) 
skipping to change at line 80 skipping to change at line 80
#define OPJ_DEPRECATED(func) func __attribute__ ((deprecated)) #define OPJ_DEPRECATED(func) func __attribute__ ((deprecated))
#elif defined(_MSC_VER) #elif defined(_MSC_VER)
#define OPJ_DEPRECATED(func) __declspec(deprecated) func #define OPJ_DEPRECATED(func) __declspec(deprecated) func
#else #else
#pragma message("WARNING: You need to implement DEPRECATED for this compile r") #pragma message("WARNING: You need to implement DEPRECATED for this compile r")
#define OPJ_DEPRECATED(func) func #define OPJ_DEPRECATED(func) func
#endif #endif
#if defined(OPJ_STATIC) || !defined(_WIN32) #if defined(OPJ_STATIC) || !defined(_WIN32)
/* http://gcc.gnu.org/wiki/Visibility */ /* http://gcc.gnu.org/wiki/Visibility */
# if __GNUC__ >= 4 # if !defined(_WIN32) && __GNUC__ >= 4
# if defined(OPJ_STATIC) /* static library uses "hidden" */ # if defined(OPJ_STATIC) /* static library uses "hidden" */
# define OPJ_API __attribute__ ((visibility ("hidden"))) # define OPJ_API __attribute__ ((visibility ("hidden")))
# else # else
# define OPJ_API __attribute__ ((visibility ("default"))) # define OPJ_API __attribute__ ((visibility ("default")))
# endif # endif
# define OPJ_LOCAL __attribute__ ((visibility ("hidden"))) # define OPJ_LOCAL __attribute__ ((visibility ("hidden")))
# else # else
# define OPJ_API # define OPJ_API
# define OPJ_LOCAL # define OPJ_LOCAL
# endif # endif
skipping to change at line 206 skipping to change at line 206
#define OPJ_PROFILE_PART2 0x8000 /** At least 1 extension defined in 15444-2 (Part-2) */ #define OPJ_PROFILE_PART2 0x8000 /** At least 1 extension defined in 15444-2 (Part-2) */
#define OPJ_PROFILE_CINEMA_2K 0x0003 /** 2K cinema profile defined in 154 44-1 AMD1 */ #define OPJ_PROFILE_CINEMA_2K 0x0003 /** 2K cinema profile defined in 154 44-1 AMD1 */
#define OPJ_PROFILE_CINEMA_4K 0x0004 /** 4K cinema profile defined in 154 44-1 AMD1 */ #define OPJ_PROFILE_CINEMA_4K 0x0004 /** 4K cinema profile defined in 154 44-1 AMD1 */
#define OPJ_PROFILE_CINEMA_S2K 0x0005 /** Scalable 2K cinema profile defin ed in 15444-1 AMD2 */ #define OPJ_PROFILE_CINEMA_S2K 0x0005 /** Scalable 2K cinema profile defin ed in 15444-1 AMD2 */
#define OPJ_PROFILE_CINEMA_S4K 0x0006 /** Scalable 4K cinema profile defin ed in 15444-1 AMD2 */ #define OPJ_PROFILE_CINEMA_S4K 0x0006 /** Scalable 4K cinema profile defin ed in 15444-1 AMD2 */
#define OPJ_PROFILE_CINEMA_LTS 0x0007 /** Long term storage cinema profile defined in 15444-1 AMD2 */ #define OPJ_PROFILE_CINEMA_LTS 0x0007 /** Long term storage cinema profile defined in 15444-1 AMD2 */
#define OPJ_PROFILE_BC_SINGLE 0x0100 /** Single Tile Broadcast profile de fined in 15444-1 AMD3 */ #define OPJ_PROFILE_BC_SINGLE 0x0100 /** Single Tile Broadcast profile de fined in 15444-1 AMD3 */
#define OPJ_PROFILE_BC_MULTI 0x0200 /** Multi Tile Broadcast profile def ined in 15444-1 AMD3 */ #define OPJ_PROFILE_BC_MULTI 0x0200 /** Multi Tile Broadcast profile def ined in 15444-1 AMD3 */
#define OPJ_PROFILE_BC_MULTI_R 0x0300 /** Multi Tile Reversible Broadcast profile defined in 15444-1 AMD3 */ #define OPJ_PROFILE_BC_MULTI_R 0x0300 /** Multi Tile Reversible Broadcast profile defined in 15444-1 AMD3 */
#define OPJ_PROFILE_IMF_2K 0x0400 /** 2K Single Tile Lossy IMF profile defined in 15444-1 AMD 8 */ #define OPJ_PROFILE_IMF_2K 0x0400 /** 2K Single Tile Lossy IMF profile defined in 15444-1 AMD 8 */
#define OPJ_PROFILE_IMF_4K 0x0401 /** 4K Single Tile Lossy IMF profile #define OPJ_PROFILE_IMF_4K 0x0500 /** 4K Single Tile Lossy IMF profile
defined in 15444-1 AMD 8 */ defined in 15444-1 AMD 8 */
#define OPJ_PROFILE_IMF_8K 0x0402 /** 8K Single Tile Lossy IMF profile #define OPJ_PROFILE_IMF_8K 0x0600 /** 8K Single Tile Lossy IMF profile
defined in 15444-1 AMD 8 */ defined in 15444-1 AMD 8 */
#define OPJ_PROFILE_IMF_2K_R 0x0403 /** 2K Single/Multi Tile Reversible #define OPJ_PROFILE_IMF_2K_R 0x0700 /** 2K Single/Multi Tile Reversible
IMF profile defined in 15444-1 AMD 8 */ IMF profile defined in 15444-1 AMD 8 */
#define OPJ_PROFILE_IMF_4K_R 0x0800 /** 4K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD 8 */ #define OPJ_PROFILE_IMF_4K_R 0x0800 /** 4K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD 8 */
#define OPJ_PROFILE_IMF_8K_R 0x0801 /** 8K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD 8 */ #define OPJ_PROFILE_IMF_8K_R 0x0900 /** 8K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD 8 */
/** /**
* JPEG 2000 Part-2 extensions * JPEG 2000 Part-2 extensions
* */ * */
#define OPJ_EXTENSION_NONE 0x0000 /** No Part-2 extension */ #define OPJ_EXTENSION_NONE 0x0000 /** No Part-2 extension */
#define OPJ_EXTENSION_MCT 0x0100 /** Custom MCT support */ #define OPJ_EXTENSION_MCT 0x0100 /** Custom MCT support */
/** /**
* JPEG 2000 profile macros * JPEG 2000 profile macros
* */ * */
#define OPJ_IS_CINEMA(v) (((v) >= OPJ_PROFILE_CINEMA_2K)&&((v) <= OPJ_P ROFILE_CINEMA_S4K)) #define OPJ_IS_CINEMA(v) (((v) >= OPJ_PROFILE_CINEMA_2K)&&((v) <= OPJ_P ROFILE_CINEMA_S4K))
#define OPJ_IS_STORAGE(v) ((v) == OPJ_PROFILE_CINEMA_LTS) #define OPJ_IS_STORAGE(v) ((v) == OPJ_PROFILE_CINEMA_LTS)
#define OPJ_IS_BROADCAST(v) (((v) >= OPJ_PROFILE_BC_SINGLE)&&((v) <= ((OPJ _PROFILE_BC_MULTI_R) | (0x000b)))) #define OPJ_IS_BROADCAST(v) (((v) >= OPJ_PROFILE_BC_SINGLE)&&((v) <= ((OPJ _PROFILE_BC_MULTI_R) | (0x000b))))
#define OPJ_IS_IMF(v) (((v) >= OPJ_PROFILE_IMF_2K)&&((v) <= ((OPJ_PR OFILE_IMF_8K_R) | (0x009b)))) #define OPJ_IS_IMF(v) (((v) >= OPJ_PROFILE_IMF_2K)&&((v) <= ((OPJ_PR OFILE_IMF_8K_R) | (0x009b))))
#define OPJ_IS_PART2(v) ((v) & OPJ_PROFILE_PART2) #define OPJ_IS_PART2(v) ((v) & OPJ_PROFILE_PART2)
#define OPJ_GET_IMF_PROFILE(v) ((v) & 0xff00) /** Extract IMF profil
e without mainlevel/sublevel */
#define OPJ_GET_IMF_MAINLEVEL(v) ((v) & 0xf) /** Extract IMF main l
evel */
#define OPJ_GET_IMF_SUBLEVEL(v) (((v) >> 4) & 0xf) /** Extract IMF sub le
vel */
#define OPJ_IMF_MAINLEVEL_MAX 11 /** Maximum main level */
/** Max. Components Sampling Rate (MSamples/sec) per IMF main level */
#define OPJ_IMF_MAINLEVEL_1_MSAMPLESEC 65 /** MSamples/sec for IMF m
ain level 1 */
#define OPJ_IMF_MAINLEVEL_2_MSAMPLESEC 130 /** MSamples/sec for IMF m
ain level 2 */
#define OPJ_IMF_MAINLEVEL_3_MSAMPLESEC 195 /** MSamples/sec for IMF m
ain level 3 */
#define OPJ_IMF_MAINLEVEL_4_MSAMPLESEC 260 /** MSamples/sec for IMF m
ain level 4 */
#define OPJ_IMF_MAINLEVEL_5_MSAMPLESEC 520 /** MSamples/sec for IMF m
ain level 5 */
#define OPJ_IMF_MAINLEVEL_6_MSAMPLESEC 1200 /** MSamples/sec for IMF m
ain level 6 */
#define OPJ_IMF_MAINLEVEL_7_MSAMPLESEC 2400 /** MSamples/sec for IMF m
ain level 7 */
#define OPJ_IMF_MAINLEVEL_8_MSAMPLESEC 4800 /** MSamples/sec for IMF m
ain level 8 */
#define OPJ_IMF_MAINLEVEL_9_MSAMPLESEC 9600 /** MSamples/sec for IMF m
ain level 9 */
#define OPJ_IMF_MAINLEVEL_10_MSAMPLESEC 19200 /** MSamples/sec for IMF m
ain level 10 */
#define OPJ_IMF_MAINLEVEL_11_MSAMPLESEC 38400 /** MSamples/sec for IMF m
ain level 11 */
/** Max. compressed Bit Rate (Mbits/s) per IMF sub level */
#define OPJ_IMF_SUBLEVEL_1_MBITSSEC 200 /** Mbits/s for IMF sub le
vel 1 */
#define OPJ_IMF_SUBLEVEL_2_MBITSSEC 400 /** Mbits/s for IMF sub le
vel 2 */
#define OPJ_IMF_SUBLEVEL_3_MBITSSEC 800 /** Mbits/s for IMF sub le
vel 3 */
#define OPJ_IMF_SUBLEVEL_4_MBITSSEC 1600 /** Mbits/s for IMF sub le
vel 4 */
#define OPJ_IMF_SUBLEVEL_5_MBITSSEC 3200 /** Mbits/s for IMF sub le
vel 5 */
#define OPJ_IMF_SUBLEVEL_6_MBITSSEC 6400 /** Mbits/s for IMF sub le
vel 6 */
#define OPJ_IMF_SUBLEVEL_7_MBITSSEC 12800 /** Mbits/s for IMF sub le
vel 7 */
#define OPJ_IMF_SUBLEVEL_8_MBITSSEC 25600 /** Mbits/s for IMF sub le
vel 8 */
#define OPJ_IMF_SUBLEVEL_9_MBITSSEC 51200 /** Mbits/s for IMF sub le
vel 9 */
/** /**
* JPEG 2000 codestream and component size limits in cinema profiles * JPEG 2000 codestream and component size limits in cinema profiles
* */ * */
#define OPJ_CINEMA_24_CS 1302083 /** Maximum codestream length for 2 4fps */ #define OPJ_CINEMA_24_CS 1302083 /** Maximum codestream length for 2 4fps */
#define OPJ_CINEMA_48_CS 651041 /** Maximum codestream length for 4 8fps */ #define OPJ_CINEMA_48_CS 651041 /** Maximum codestream length for 4 8fps */
#define OPJ_CINEMA_24_COMP 1041666 /** Maximum size per color componen t for 2K & 4K @ 24fps */ #define OPJ_CINEMA_24_COMP 1041666 /** Maximum size per color componen t for 2K & 4K @ 24fps */
#define OPJ_CINEMA_48_COMP 520833 /** Maximum size per color componen t for 2K @ 48fps */ #define OPJ_CINEMA_48_COMP 520833 /** Maximum size per color componen t for 2K @ 48fps */
/* /*
========================================================== ==========================================================
skipping to change at line 319 skipping to change at line 349
* @param client_data Client object where will be return the event me ssage * @param client_data Client object where will be return the event me ssage
* */ * */
typedef void (*opj_msg_callback)(const char *msg, void *client_data); typedef void (*opj_msg_callback)(const char *msg, void *client_data);
/* /*
========================================================== ==========================================================
codec typedef definitions codec typedef definitions
========================================================== ==========================================================
*/ */
#ifndef OPJ_UINT32_SEMANTICALLY_BUT_INT32
#define OPJ_UINT32_SEMANTICALLY_BUT_INT32 OPJ_INT32
#endif
/** /**
* Progression order changes * Progression order changes
* *
*/ */
typedef struct opj_poc { typedef struct opj_poc {
/** Resolution num start, Component num start, given by POC */ /** Resolution num start, Component num start, given by POC */
OPJ_UINT32 resno0, compno0; OPJ_UINT32 resno0, compno0;
/** Layer num end,Resolution num end, Component num end, given by POC * / /** Layer num end,Resolution num end, Component num end, given by POC * /
OPJ_UINT32 layno1, resno1, compno1; OPJ_UINT32 layno1, resno1, compno1;
/** Layer num start,Precinct num start, Precinct num end */ /** Layer num start,Precinct num start, Precinct num end */
OPJ_UINT32 layno0, precno0, precno1; OPJ_UINT32 layno0, precno0, precno1;
/** Progression order enum*/ /** Progression order enum*/
OPJ_PROG_ORDER prg1, prg; OPJ_PROG_ORDER prg1, prg;
/** Progression order string*/ /** Progression order string*/
OPJ_CHAR progorder[5]; OPJ_CHAR progorder[5];
/** Tile number */ /** Tile number (starting at 1) */
OPJ_UINT32 tile; OPJ_UINT32 tile;
/** Start and end values for Tile width and height*/ /** Start and end values for Tile width and height*/
OPJ_INT32 tx0, tx1, ty0, ty1; OPJ_UINT32_SEMANTICALLY_BUT_INT32 tx0, tx1, ty0, ty1;
/** Start value, initialised in pi_initialise_encode*/ /** Start value, initialised in pi_initialise_encode*/
OPJ_UINT32 layS, resS, compS, prcS; OPJ_UINT32 layS, resS, compS, prcS;
/** End value, initialised in pi_initialise_encode */ /** End value, initialised in pi_initialise_encode */
OPJ_UINT32 layE, resE, compE, prcE; OPJ_UINT32 layE, resE, compE, prcE;
/** Start and end values of Tile width and height, initialised in pi_in itialise_encode*/ /** Start and end values of Tile width and height, initialised in pi_in itialise_encode*/
OPJ_UINT32 txS, txE, tyS, tyE, dx, dy; OPJ_UINT32 txS, txE, tyS, tyE, dx, dy;
/** Temporary values for Tile parts, initialised in pi_create_encode */ /** Temporary values for Tile parts, initialised in pi_create_encode */
OPJ_UINT32 lay_t, res_t, comp_t, prc_t, tx0_t, ty0_t; OPJ_UINT32 lay_t, res_t, comp_t, prc_t, tx0_t, ty0_t;
} opj_poc_t; } opj_poc_t;
skipping to change at line 1307 skipping to change at line 1341
/** /**
* Allocates worker threads for the compressor/decompressor. * Allocates worker threads for the compressor/decompressor.
* *
* By default, only the main thread is used. If this function is not used, * By default, only the main thread is used. If this function is not used,
* but the OPJ_NUM_THREADS environment variable is set, its value will be * but the OPJ_NUM_THREADS environment variable is set, its value will be
* used to initialize the number of threads. The value can be either an int eger * used to initialize the number of threads. The value can be either an int eger
* number, or "ALL_CPUS". If OPJ_NUM_THREADS is set and this function is ca lled, * number, or "ALL_CPUS". If OPJ_NUM_THREADS is set and this function is ca lled,
* this function will override the behaviour of the environment variable. * this function will override the behaviour of the environment variable.
* *
* Currently this function must be called after opj_setup_decoder() and * This function must be called after opj_setup_decoder() and
* before opj_read_header(). * before opj_read_header() for the decoding side, or after opj_setup_encod
* er()
* Note: currently only has effect on the decompressor. * and before opj_start_compress() for the encoding side.
* *
* @param p_codec decompressor handler * @param p_codec decompressor or compressor handler
* @param num_threads number of threads. * @param num_threads number of threads.
* *
* @return OPJ_TRUE if the decoder is correctly set * @return OPJ_TRUE if the function is successful.
*/ */
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_codec_set_threads(opj_codec_t *p_codec, OPJ_API OPJ_BOOL OPJ_CALLCONV opj_codec_set_threads(opj_codec_t *p_codec,
int num_threads); int num_threads);
/** /**
* Decodes an image header. * Decodes an image header.
* *
* @param p_stream the jpeg2000 stream. * @param p_stream the jpeg2000 stream.
* @param p_codec the jpeg2000 codec to read. * @param p_codec the jpeg2000 codec to read.
* @param p_image the image structure initialized with the charac teristics of encoded image. * @param p_image the image structure initialized with the charac teristics of encoded image.
skipping to change at line 1539 skipping to change at line 1572
* Setup the encoder parameters using the current image and using user para meters. * Setup the encoder parameters using the current image and using user para meters.
* @param p_codec Compressor handle * @param p_codec Compressor handle
* @param parameters Compression parameters * @param parameters Compression parameters
* @param image Input filled image * @param image Input filled image
*/ */
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_encoder(opj_codec_t *p_codec, OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_encoder(opj_codec_t *p_codec,
opj_cparameters_t *parameters, opj_cparameters_t *parameters,
opj_image_t *image); opj_image_t *image);
/** /**
* Specify extra options for the encoder.
*
* This may be called after opj_setup_encoder() and before opj_start_compre
ss()
*
* This is the way to add new options in a fully ABI compatible way, withou
t
* extending the opj_cparameters_t structure.
*
* Currently supported options are:
* <ul>
* <li>PLT=YES/NO. Defaults to NO. If set to YES, PLT marker segments,
* indicating the length of each packet in the tile-part header, will b
e
* written. Since 2.3.2</li>
* </ul>
*
* @param p_codec Compressor handle
* @param p_options Compression options. This should be a NULL terminat
ed
* array of strings. Each string is of the form KEY=VA
LUE.
*
* @return OPJ_TRUE in case of success.
* @since 2.3.2
*/
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_encoder_set_extra_options(
opj_codec_t *p_codec,
const char* const* p_options);
/**
* Start to compress the current image. * Start to compress the current image.
* @param p_codec Compressor handle * @param p_codec Compressor handle
* @param p_image Input filled image * @param p_image Input filled image
* @param p_stream Input stgream * @param p_stream Input stgream
*/ */
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_start_compress(opj_codec_t *p_codec, OPJ_API OPJ_BOOL OPJ_CALLCONV opj_start_compress(opj_codec_t *p_codec,
opj_image_t * p_image, opj_image_t * p_image,
opj_stream_t *p_stream); opj_stream_t *p_stream);
/** /**
 End of changes. 11 change blocks. 
16 lines changed or deleted 104 lines changed or added


 opj_config.h (2.3.1)   opj_config.h (2.4.0) 
/* create opj_config.h for CMake */ /* create opj_config.h for CMake */
#define OPJ_HAVE_STDINT_H 1 #define OPJ_HAVE_STDINT_H 1
/*------------------------------------------------------------------------- -*/ /*------------------------------------------------------------------------- -*/
/* OpenJPEG Versioning */ /* OpenJPEG Versioning */
/* Version number. */ /* Version number. */
#define OPJ_VERSION_MAJOR 2 #define OPJ_VERSION_MAJOR 2
#define OPJ_VERSION_MINOR 3 #define OPJ_VERSION_MINOR 4
#define OPJ_VERSION_BUILD 1 #define OPJ_VERSION_BUILD 0
 End of changes. 1 change blocks. 
0 lines changed or deleted 0 lines changed or added

This html diff was produced by rfcdiff 1.41.The latest version is available from http://tools.ietf.org/tools/rfcdiff/