| openjpeg.h (2.3.1) | | openjpeg.h (current) | |
| | | | |
| 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. 10 change blocks. |
| 15 lines changed or deleted | | 103 lines changed or added | |
|