OpenJPEG
2.1.2
|
#include "opj_includes.h"
Macros | |
#define | OPJ_BOX_SIZE 1024 |
Functions | |
static OPJ_BOOL | opj_jp2_setup_end_header_writing (opj_jp2_t *jp2, opj_event_mgr_t *p_manager) |
Sets up the procedures to do on writing header after the codestream. More... | |
static OPJ_BOOL | opj_jp2_setup_end_header_reading (opj_jp2_t *jp2, opj_event_mgr_t *p_manager) |
Sets up the procedures to do on reading header after the codestream. More... | |
static OPJ_BOOL | opj_jp2_read_header_procedure (opj_jp2_t *jp2, opj_stream_private_t *stream, opj_event_mgr_t *p_manager) |
Reads a jpeg2000 file header structure. More... | |
static OPJ_BOOL | opj_jp2_exec (opj_jp2_t *jp2, opj_procedure_list_t *p_procedure_list, opj_stream_private_t *stream, opj_event_mgr_t *p_manager) |
Excutes the given procedures on the given codec. More... | |
static OPJ_BOOL | opj_jp2_read_boxhdr (opj_jp2_box_t *box, OPJ_UINT32 *p_number_bytes_read, opj_stream_private_t *cio, opj_event_mgr_t *p_manager) |
Reads a box header. More... | |
static OPJ_BOOL | opj_jp2_setup_encoding_validation (opj_jp2_t *jp2, opj_event_mgr_t *p_manager) |
Sets up the validation ,i.e. More... | |
static OPJ_BOOL | opj_jp2_setup_header_writing (opj_jp2_t *jp2, opj_event_mgr_t *p_manager) |
Sets up the procedures to do on writing header. More... | |
static OPJ_BOOL | opj_jp2_default_validation (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager) |
static const opj_jp2_header_handler_t * | opj_jp2_img_find_handler (OPJ_UINT32 p_id) |
Finds the image execution function related to the given box id. More... | |
static const opj_jp2_header_handler_t * | opj_jp2_find_handler (OPJ_UINT32 p_id) |
Finds the execution function related to the given box id. More... | |
static OPJ_BOOL | opj_jp2_read_boxhdr_char (opj_jp2_box_t *box, OPJ_BYTE *p_data, OPJ_UINT32 *p_number_bytes_read, OPJ_UINT32 p_box_max_size, opj_event_mgr_t *p_manager) |
Reads a box header. More... | |
static OPJ_BOOL | opj_jp2_setup_decoding_validation (opj_jp2_t *jp2, opj_event_mgr_t *p_manager) |
Sets up the validation ,i.e. More... | |
static OPJ_BOOL | opj_jp2_setup_header_reading (opj_jp2_t *jp2, opj_event_mgr_t *p_manager) |
Sets up the procedures to do on reading header. More... | |
static OPJ_BOOL | opj_jp2_check_color (opj_image_t *image, opj_jp2_color_t *color, opj_event_mgr_t *p_manager) |
OPJ_BOOL | opj_jp2_decode (opj_jp2_t *jp2, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager) |
Decode an image from a JPEG-2000 file stream. More... | |
void | opj_jp2_setup_decoder (opj_jp2_t *jp2, opj_dparameters_t *parameters) |
Setup the decoder decoding parameters using user parameters. More... | |
OPJ_BOOL | opj_jp2_setup_encoder (opj_jp2_t *jp2, opj_cparameters_t *parameters, opj_image_t *image, opj_event_mgr_t *p_manager) |
Setup the encoder parameters using the current image and using user parameters. More... | |
OPJ_BOOL | opj_jp2_encode (opj_jp2_t *jp2, opj_stream_private_t *stream, opj_event_mgr_t *p_manager) |
Encode an image into a JPEG-2000 file stream. More... | |
OPJ_BOOL | opj_jp2_end_decompress (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager) |
Ends the decompression procedures and possibiliy add data to be read after the codestream. More... | |
OPJ_BOOL | opj_jp2_end_compress (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager) |
Ends the compression procedures and possibiliy add data to be read after the codestream. More... | |
OPJ_BOOL | opj_jp2_start_compress (opj_jp2_t *jp2, opj_stream_private_t *stream, opj_image_t *p_image, opj_event_mgr_t *p_manager) |
Starts a compression scheme, i.e. More... | |
static OPJ_BOOL | opj_jpip_skip_iptr (opj_jp2_t *jp2, opj_stream_private_t *stream, opj_event_mgr_t *p_manager) |
OPJ_BOOL | opj_jp2_read_header (opj_stream_private_t *p_stream, opj_jp2_t *jp2, opj_image_t **p_image, opj_event_mgr_t *p_manager) |
Reads a jpeg2000 file header structure. More... | |
OPJ_BOOL | opj_jp2_read_tile_header (opj_jp2_t *p_jp2, OPJ_UINT32 *p_tile_index, OPJ_UINT32 *p_data_size, OPJ_INT32 *p_tile_x0, OPJ_INT32 *p_tile_y0, OPJ_INT32 *p_tile_x1, OPJ_INT32 *p_tile_y1, OPJ_UINT32 *p_nb_comps, OPJ_BOOL *p_go_on, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager) |
Reads a tile header. More... | |
OPJ_BOOL | opj_jp2_write_tile (opj_jp2_t *p_jp2, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager) |
Writes a tile. More... | |
OPJ_BOOL | opj_jp2_decode_tile (opj_jp2_t *p_jp2, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager) |
Decode tile data. More... | |
void | opj_jp2_destroy (opj_jp2_t *jp2) |
Destroy a JP2 decompressor handle. More... | |
OPJ_BOOL | opj_jp2_set_decode_area (opj_jp2_t *p_jp2, opj_image_t *p_image, OPJ_INT32 p_start_x, OPJ_INT32 p_start_y, OPJ_INT32 p_end_x, OPJ_INT32 p_end_y, opj_event_mgr_t *p_manager) |
Sets the given area to be decoded. More... | |
OPJ_BOOL | opj_jp2_get_tile (opj_jp2_t *p_jp2, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager, OPJ_UINT32 tile_index) |
opj_jp2_t * | opj_jp2_create (OPJ_BOOL p_is_decoder) |
Creates a jpeg2000 file decompressor. More... | |
void | jp2_dump (opj_jp2_t *p_jp2, OPJ_INT32 flag, FILE *out_stream) |
Dump some elements from the JP2 decompression structure . More... | |
opj_codestream_index_t * | jp2_get_cstr_index (opj_jp2_t *p_jp2) |
Get the codestream index from a JPEG2000 codec. More... | |
opj_codestream_info_v2_t * | jp2_get_cstr_info (opj_jp2_t *p_jp2) |
Get the codestream info from a JPEG2000 codec. More... | |
OPJ_BOOL | opj_jp2_set_decoded_resolution_factor (opj_jp2_t *p_jp2, OPJ_UINT32 res_factor, opj_event_mgr_t *p_manager) |
Local static functions | |
static OPJ_BOOL | opj_jp2_read_ihdr (opj_jp2_t *jp2, OPJ_BYTE *p_image_header_data, OPJ_UINT32 p_image_header_size, opj_event_mgr_t *p_manager) |
Reads a IHDR box - Image Header box. More... | |
static OPJ_BYTE * | opj_jp2_write_ihdr (opj_jp2_t *jp2, OPJ_UINT32 *p_nb_bytes_written) |
Writes the Image Header box - Image Header box. More... | |
static OPJ_BYTE * | opj_jp2_write_bpcc (opj_jp2_t *jp2, OPJ_UINT32 *p_nb_bytes_written) |
Writes the Bit per Component box. More... | |
static OPJ_BOOL | opj_jp2_read_bpcc (opj_jp2_t *jp2, OPJ_BYTE *p_bpc_header_data, OPJ_UINT32 p_bpc_header_size, opj_event_mgr_t *p_manager) |
Reads a Bit per Component box. More... | |
static OPJ_BOOL | opj_jp2_read_cdef (opj_jp2_t *jp2, OPJ_BYTE *p_cdef_header_data, OPJ_UINT32 p_cdef_header_size, opj_event_mgr_t *p_manager) |
static void | opj_jp2_apply_cdef (opj_image_t *image, opj_jp2_color_t *color, opj_event_mgr_t *) |
static OPJ_BYTE * | opj_jp2_write_cdef (opj_jp2_t *jp2, OPJ_UINT32 *p_nb_bytes_written) |
Writes the Channel Definition box. More... | |
static OPJ_BYTE * | opj_jp2_write_colr (opj_jp2_t *jp2, OPJ_UINT32 *p_nb_bytes_written) |
Writes the Colour Specification box. More... | |
static OPJ_BOOL | opj_jp2_write_ftyp (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager) |
Writes a FTYP box - File type box. More... | |
static OPJ_BOOL | opj_jp2_read_ftyp (opj_jp2_t *jp2, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager) |
Reads a a FTYP box - File type box. More... | |
static OPJ_BOOL | opj_jp2_skip_jp2c (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager) |
static OPJ_BOOL | opj_jp2_read_jp2h (opj_jp2_t *jp2, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager) |
Reads the Jpeg2000 file Header box - JP2 Header box (warning, this is a super box). More... | |
static OPJ_BOOL | opj_jp2_write_jp2h (opj_jp2_t *jp2, opj_stream_private_t *stream, opj_event_mgr_t *p_manager) |
Writes the Jpeg2000 file Header box - JP2 Header box (warning, this is a super box). More... | |
static OPJ_BOOL | opj_jp2_write_jp2c (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager) |
Writes the Jpeg2000 codestream Header box - JP2C Header box. More... | |
static OPJ_BOOL | opj_jp2_read_jp (opj_jp2_t *jp2, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager) |
Reads a jpeg2000 file signature box. More... | |
static OPJ_BOOL | opj_jp2_write_jp (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager) |
Writes a jpeg2000 file signature box. More... | |
static void | opj_jp2_apply_pclr (opj_image_t *image, opj_jp2_color_t *color) |
Apply collected palette data. More... | |
static void | opj_jp2_free_pclr (opj_jp2_color_t *color) |
static OPJ_BOOL | opj_jp2_read_pclr (opj_jp2_t *jp2, OPJ_BYTE *p_pclr_header_data, OPJ_UINT32 p_pclr_header_size, opj_event_mgr_t *p_manager) |
Collect palette data. More... | |
static OPJ_BOOL | opj_jp2_read_cmap (opj_jp2_t *jp2, OPJ_BYTE *p_cmap_header_data, OPJ_UINT32 p_cmap_header_size, opj_event_mgr_t *p_manager) |
Collect component mapping data. More... | |
static OPJ_BOOL | opj_jp2_read_colr (opj_jp2_t *jp2, OPJ_BYTE *p_colr_header_data, OPJ_UINT32 p_colr_header_size, opj_event_mgr_t *p_manager) |
Reads the Color Specification box. More... | |
Variables | |
static const opj_jp2_header_handler_t | jp2_header [] |
static const opj_jp2_header_handler_t | jp2_img_header [] |
|
static |
References opj_jp2_pclr::cmap, EVT_ERROR, EVT_WARNING, opj_jp2_cdef::info, opj_jp2_color::jp2_cdef, opj_jp2_color::jp2_pclr, opj_jp2_cmap_comp::mtyp, opj_jp2_cdef::n, opj_jp2_pclr::nr_channels, opj_image::numcomps, opj_calloc(), opj_event_msg(), OPJ_FALSE, opj_free(), OPJ_TRUE, and opj_jp2_cmap_comp::pcol.
Referenced by opj_jp2_decode(), and opj_jp2_get_tile().
|
static |
References opj_jp2_comps::bpcc, opj_jp2::comps, opj_jp2::h, opj_jp2::j2k, opj_jp2::jp2_img_state, JP2_IMG_STATE_NONE, opj_jp2::jp2_state, JP2_STATE_NONE, opj_jp2::m_procedure_list, opj_jp2::m_validation_list, opj_jp2::meth, opj_jp2::numcl, opj_jp2::numcomps, opj_stream_has_seek(), OPJ_TRUE, and opj_jp2::w.
Referenced by opj_jp2_setup_encoding_validation().
|
static |
Excutes the given procedures on the given codec.
p_procedure_list | the list of procedures to execute |
jp2 | the jpeg2000 file codec to execute the procedures on. |
stream | the stream to execute the procedures on. |
p_manager | the user manager. |
References opj_procedure_list_clear(), opj_procedure_list_get_first_procedure(), opj_procedure_list_get_nb_procedures(), and OPJ_TRUE.
Referenced by opj_jp2_end_compress(), opj_jp2_end_decompress(), opj_jp2_read_header(), and opj_jp2_start_compress().
|
static |
Finds the execution function related to the given box id.
p_id | the id of the handler to fetch. |
References jp2_header.
Referenced by opj_jp2_read_header_procedure().
|
static |
Finds the image execution function related to the given box id.
p_id | the id of the handler to fetch. |
p_id | the id of the handler to fetch. |
References jp2_img_header.
Referenced by opj_jp2_read_header_procedure(), and opj_jp2_read_jp2h().
|
static |
Reads a box header.
The box is the way data is packed inside a jpeg2000 file structure.
cio | the input stream to read data from. |
box | the box structure to fill. |
p_number_bytes_read | pointer to an int that will store the number of bytes read from the stream (shoul usually be 2). |
p_manager | user event manager. |
References EVT_ERROR, opj_jp2_box::length, opj_event_msg(), OPJ_FALSE, opj_read_bytes, opj_stream_get_number_byte_left(), opj_stream_read_data(), OPJ_TRUE, and opj_jp2_box::type.
Referenced by opj_jp2_read_header_procedure().
|
static |
Reads a box header.
The box is the way data is packed inside a jpeg2000 file structure. Data is read from a character string
box | the box structure to fill. |
p_data | the character string to read data from. |
p_number_bytes_read | pointer to an int that will store the number of bytes read from the stream (shoul usually be 2). |
p_box_max_size | the maximum number of bytes in the box. |
p_manager | FIXME DOC |
References EVT_ERROR, opj_jp2_box::length, opj_event_msg(), OPJ_FALSE, opj_read_bytes, OPJ_TRUE, and opj_jp2_box::type.
Referenced by opj_jp2_read_jp2h().
|
static |
Reads a jpeg2000 file header structure.
jp2 | the jpeg2000 file header structure. |
stream | the stream to read data from. |
p_manager | the user event manager. |
References EVT_ERROR, EVT_WARNING, opj_jp2_header_handler::handler, JP2_JP2C, opj_jp2::jp2_state, JP2_STATE_CODESTREAM, JP2_STATE_FILE_TYPE, JP2_STATE_HEADER, JP2_STATE_SIGNATURE, JP2_STATE_UNKNOWN, opj_jp2_box::length, OPJ_BOX_SIZE, opj_calloc(), opj_event_msg(), OPJ_FALSE, opj_free(), opj_jp2_find_handler(), opj_jp2_img_find_handler(), opj_jp2_read_boxhdr(), opj_realloc(), opj_stream_get_number_byte_left(), opj_stream_read_data(), opj_stream_skip(), OPJ_TRUE, and opj_jp2_box::type.
Referenced by opj_jp2_setup_end_header_reading(), and opj_jp2_setup_header_reading().
|
static |
Sets up the validation ,i.e.
adds the procedures to lauch to make sure the codec parameters are valid. Developpers wanting to extend the library can add their own validation procedures.
References OPJ_TRUE.
Referenced by opj_jp2_read_header().
|
static |
Sets up the validation ,i.e.
adds the procedures to lauch to make sure the codec parameters are valid. Developpers wanting to extend the library can add their own validation procedures.
References opj_jp2::m_validation_list, OPJ_FALSE, opj_jp2_default_validation(), opj_procedure_list_add_procedure(), and OPJ_TRUE.
Referenced by opj_jp2_start_compress().
|
static |
Sets up the procedures to do on reading header after the codestream.
Developpers wanting to extend the library can add their own writing procedures.
References opj_jp2::m_procedure_list, OPJ_FALSE, opj_jp2_read_header_procedure(), opj_procedure_list_add_procedure(), and OPJ_TRUE.
Referenced by opj_jp2_end_decompress().
|
static |
Sets up the procedures to do on writing header after the codestream.
Developpers wanting to extend the library can add their own writing procedures.
References opj_jp2::jpip_on, opj_jp2::m_procedure_list, OPJ_FALSE, opj_jp2_write_jp2c(), opj_procedure_list_add_procedure(), and OPJ_TRUE.
Referenced by opj_jp2_end_compress().
|
static |
Sets up the procedures to do on reading header.
Developpers wanting to extend the library can add their own writing procedures.
References opj_jp2::m_procedure_list, OPJ_FALSE, opj_jp2_read_header_procedure(), opj_procedure_list_add_procedure(), and OPJ_TRUE.
Referenced by opj_jp2_read_header().
|
static |
Sets up the procedures to do on writing header.
Developpers wanting to extend the library can add their own writing procedures.
References opj_jp2::jpip_on, opj_jp2::m_procedure_list, OPJ_FALSE, opj_jp2_skip_jp2c(), opj_jp2_write_ftyp(), opj_jp2_write_jp(), opj_jp2_write_jp2h(), opj_jpip_skip_iptr(), opj_procedure_list_add_procedure(), and OPJ_TRUE.
Referenced by opj_jp2_start_compress().
|
static |
References opj_jp2::jpip_iptr_offset, OPJ_FALSE, opj_stream_skip(), opj_stream_tell(), and OPJ_TRUE.
Referenced by opj_jp2_setup_header_writing().
|
static |
Referenced by opj_jp2_find_handler().
|
static |
Referenced by opj_jp2_img_find_handler().