--- /dev/null
+$VAR1 = {
+ 'ABI_DUMPER_VERSION' => '0.99.15',
+ 'ABI_DUMP_VERSION' => '3.2',
+ 'Arch' => 'x86_64',
+ 'GccVersion' => '9.4.0',
+ 'Headers' => {
+ 'openjpeg.h' => 1
+ },
+ 'Language' => 'C',
+ 'LibraryName' => 'libopenjp2.so.2.5.0',
+ 'LibraryVersion' => '2.5.0',
+ 'NameSpaces' => {},
+ 'Needed' => {
+ 'libc.so.6' => 1,
+ 'libm.so.6' => 1,
+ 'libpthread.so.0' => 1
+ },
+ 'PublicABI' => '1',
+ 'Sources' => {},
+ 'SymbolInfo' => {
+ '112596' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'numcmpts',
+ 'type' => '9383'
+ },
+ '1' => {
+ 'name' => 'cmptparms',
+ 'type' => '112858'
+ },
+ '2' => {
+ 'name' => 'clrspc',
+ 'type' => '20065'
+ }
+ },
+ 'Return' => '22911',
+ 'ShortName' => 'opj_image_tile_create',
+ 'Source' => undef,
+ 'SourceLine' => '227'
+ },
+ '114599' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'image',
+ 'type' => '22911'
+ }
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_image_destroy',
+ 'Source' => undef,
+ 'SourceLine' => '1126'
+ },
+ '114781' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'numcmpts',
+ 'type' => '9383'
+ },
+ '1' => {
+ 'name' => 'cmptparms',
+ 'type' => '112858'
+ },
+ '2' => {
+ 'name' => 'clrspc',
+ 'type' => '20065'
+ }
+ },
+ 'Return' => '22911',
+ 'ShortName' => 'opj_image_create',
+ 'Source' => undef,
+ 'SourceLine' => '40'
+ },
+ '115632' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'ptr',
+ 'type' => '130'
+ }
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_image_data_free',
+ 'Source' => undef,
+ 'SourceLine' => '1159'
+ },
+ '115703' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'size',
+ 'type' => '9395'
+ }
+ },
+ 'Return' => '130',
+ 'ShortName' => 'opj_image_data_alloc',
+ 'Source' => undef,
+ 'SourceLine' => '1149'
+ },
+ '15690' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ },
+ '1' => {
+ 'name' => 'data_length',
+ 'type' => '11737'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_user_data_length',
+ 'Source' => undef,
+ 'SourceLine' => '1244'
+ },
+ '15779' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ },
+ '1' => {
+ 'name' => 'p_data',
+ 'type' => '130'
+ },
+ '2' => {
+ 'name' => 'p_function',
+ 'type' => '11943'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_user_data',
+ 'Source' => undef,
+ 'SourceLine' => '1235'
+ },
+ '15877' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ },
+ '1' => {
+ 'name' => 'p_function',
+ 'type' => '11865'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_skip_function',
+ 'Source' => undef,
+ 'SourceLine' => '1217'
+ },
+ '15956' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ },
+ '1' => {
+ 'name' => 'p_function',
+ 'type' => '11852'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_write_function',
+ 'Source' => undef,
+ 'SourceLine' => '1209'
+ },
+ '16035' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ },
+ '1' => {
+ 'name' => 'p_function',
+ 'type' => '11904'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_seek_function',
+ 'Source' => undef,
+ 'SourceLine' => '1226'
+ },
+ '16114' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ },
+ '1' => {
+ 'name' => 'p_function',
+ 'type' => '11808'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_read_function',
+ 'Source' => undef,
+ 'SourceLine' => '1201'
+ },
+ '16193' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ }
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_destroy',
+ 'Source' => undef,
+ 'SourceLine' => '199'
+ },
+ '16297' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'l_is_input',
+ 'type' => '2937'
+ }
+ },
+ 'Return' => '15773',
+ 'ShortName' => 'opj_stream_default_create',
+ 'Source' => undef,
+ 'SourceLine' => '194'
+ },
+ '16380' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_buffer_size',
+ 'type' => '9395'
+ },
+ '1' => {
+ 'name' => 'l_is_input',
+ 'type' => '2937'
+ }
+ },
+ 'Return' => '15773',
+ 'ShortName' => 'opj_stream_create',
+ 'Source' => undef,
+ 'SourceLine' => '1185'
+ },
+ '236200' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'cstr_info',
+ 'type' => '300619'
+ }
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_destroy_cstr_info',
+ 'Source' => undef,
+ 'SourceLine' => '1041'
+ },
+ '236475' => {
+ 'Header' => 'openjpeg.h',
+ 'Return' => '162',
+ 'ShortName' => 'opj_version',
+ 'Source' => undef,
+ 'SourceLine' => '171'
+ },
+ '299777' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'fname',
+ 'type' => '162'
+ },
+ '1' => {
+ 'name' => 'p_size',
+ 'type' => '9395'
+ },
+ '2' => {
+ 'name' => 'p_is_read_stream',
+ 'type' => '2937'
+ }
+ },
+ 'Return' => '15773',
+ 'ShortName' => 'opj_stream_create_file_stream',
+ 'Source' => undef,
+ 'SourceLine' => '1084'
+ },
+ '300247' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'fname',
+ 'type' => '162'
+ },
+ '1' => {
+ 'name' => 'p_is_read_stream',
+ 'type' => '2937'
+ }
+ },
+ 'Return' => '15773',
+ 'ShortName' => 'opj_stream_create_default_file_stream',
+ 'Source' => undef,
+ 'SourceLine' => '1077'
+ },
+ '300360' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_cstr_index',
+ 'type' => '300426'
+ }
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_destroy_cstr_index',
+ 'Source' => undef,
+ 'SourceLine' => '1069'
+ },
+ '300432' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ }
+ },
+ 'Return' => '127977',
+ 'ShortName' => 'opj_get_cstr_index',
+ 'Source' => undef,
+ 'SourceLine' => '1058'
+ },
+ '300625' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ }
+ },
+ 'Return' => '130441',
+ 'ShortName' => 'opj_get_cstr_info',
+ 'Source' => undef,
+ 'SourceLine' => '1030'
+ },
+ '300721' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'info_flag',
+ 'type' => '9371'
+ },
+ '2' => {
+ 'name' => 'output_stream',
+ 'type' => '2867'
+ }
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_dump_codec',
+ 'Source' => undef,
+ 'SourceLine' => '1014'
+ },
+ '300879' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ }
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_destroy_codec',
+ 'Source' => undef,
+ 'SourceLine' => '996'
+ },
+ '300979' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'p_tile_index',
+ 'type' => '9383'
+ },
+ '2' => {
+ 'name' => 'p_data',
+ 'type' => '9407'
+ },
+ '3' => {
+ 'name' => 'p_data_size',
+ 'type' => '9383'
+ },
+ '4' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_write_tile',
+ 'Source' => undef,
+ 'SourceLine' => '969'
+ },
+ '301215' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'parameters',
+ 'type' => '130429'
+ },
+ '1' => {
+ 'name' => 'pEncodingMatrix',
+ 'type' => '12409'
+ },
+ '2' => {
+ 'name' => 'p_dc_shift',
+ 'type' => '20829'
+ },
+ '3' => {
+ 'name' => 'pNbComp',
+ 'type' => '9383'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_set_MCT',
+ 'Source' => undef,
+ 'SourceLine' => '939'
+ },
+ '301641' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_end_decompress',
+ 'Source' => undef,
+ 'SourceLine' => '919'
+ },
+ '301793' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_end_compress',
+ 'Source' => undef,
+ 'SourceLine' => '902'
+ },
+ '301938' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_info',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_encode',
+ 'Source' => undef,
+ 'SourceLine' => '885'
+ },
+ '302083' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'p_image',
+ 'type' => '22911'
+ },
+ '2' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_start_compress',
+ 'Source' => undef,
+ 'SourceLine' => '866'
+ },
+ '302256' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'options',
+ 'type' => '130435'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_encoder_set_extra_options',
+ 'Source' => undef,
+ 'SourceLine' => '847'
+ },
+ '302380' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'parameters',
+ 'type' => '130429'
+ },
+ '2' => {
+ 'name' => 'p_image',
+ 'type' => '22911'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_setup_encoder',
+ 'Source' => undef,
+ 'SourceLine' => '827'
+ },
+ '302525' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'parameters',
+ 'type' => '130429'
+ }
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_set_default_encoder_parameters',
+ 'Source' => undef,
+ 'SourceLine' => '766'
+ },
+ '302684' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_format',
+ 'type' => '294521'
+ }
+ },
+ 'Return' => '300528',
+ 'ShortName' => 'opj_create_compress',
+ 'Source' => undef,
+ 'SourceLine' => '652'
+ },
+ '302920' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'res_factor',
+ 'type' => '9383'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_set_decoded_resolution_factor',
+ 'Source' => undef,
+ 'SourceLine' => '634'
+ },
+ '303045' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ },
+ '2' => {
+ 'name' => 'p_image',
+ 'type' => '22911'
+ },
+ '3' => {
+ 'name' => 'tile_index',
+ 'type' => '9383'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_get_decoded_tile',
+ 'Source' => undef,
+ 'SourceLine' => '610'
+ },
+ '303253' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'p_tile_index',
+ 'type' => '9383'
+ },
+ '2' => {
+ 'name' => 'p_data',
+ 'type' => '9407'
+ },
+ '3' => {
+ 'name' => 'p_data_size',
+ 'type' => '9383'
+ },
+ '4' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_decode_tile_data',
+ 'Source' => undef,
+ 'SourceLine' => '584'
+ },
+ '303489' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ },
+ '2' => {
+ 'name' => 'p_tile_index',
+ 'type' => '12415'
+ },
+ '3' => {
+ 'name' => 'p_data_size',
+ 'type' => '12415'
+ },
+ '4' => {
+ 'name' => 'p_tile_x0',
+ 'type' => '20829'
+ },
+ '5' => {
+ 'name' => 'p_tile_y0',
+ 'type' => '20829'
+ },
+ '6' => {
+ 'name' => 'p_tile_x1',
+ 'offset' => '0',
+ 'type' => '20829'
+ },
+ '7' => {
+ 'name' => 'p_tile_y1',
+ 'offset' => '8',
+ 'type' => '20829'
+ },
+ '8' => {
+ 'name' => 'p_nb_comps',
+ 'offset' => '16',
+ 'type' => '12415'
+ },
+ '9' => {
+ 'name' => 'p_should_go_on',
+ 'offset' => '24',
+ 'type' => '25201'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_read_tile_header',
+ 'Source' => undef,
+ 'SourceLine' => '553'
+ },
+ '303808' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'p_image',
+ 'type' => '22911'
+ },
+ '2' => {
+ 'name' => 'p_start_x',
+ 'type' => '9371'
+ },
+ '3' => {
+ 'name' => 'p_start_y',
+ 'type' => '9371'
+ },
+ '4' => {
+ 'name' => 'p_end_x',
+ 'type' => '9371'
+ },
+ '5' => {
+ 'name' => 'p_end_y',
+ 'type' => '9371'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_set_decode_area',
+ 'Source' => undef,
+ 'SourceLine' => '530'
+ },
+ '304042' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ },
+ '2' => {
+ 'name' => 'p_image',
+ 'type' => '22911'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_decode',
+ 'Source' => undef,
+ 'SourceLine' => '509'
+ },
+ '304222' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'numcomps',
+ 'type' => '9383'
+ },
+ '2' => {
+ 'name' => 'comps_indices',
+ 'type' => '130423'
+ },
+ '3' => {
+ 'name' => 'apply_color_transforms',
+ 'type' => '2937'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_set_decoded_components',
+ 'Source' => undef,
+ 'SourceLine' => '480'
+ },
+ '304492' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ },
+ '1' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '2' => {
+ 'name' => 'p_image',
+ 'type' => '130405'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_read_header',
+ 'Source' => undef,
+ 'SourceLine' => '456'
+ },
+ '304729' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'strict',
+ 'type' => '2937'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_decoder_set_strict_mode',
+ 'Source' => undef,
+ 'SourceLine' => '436'
+ },
+ '304896' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'parameters',
+ 'type' => '130411'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_setup_decoder',
+ 'Source' => undef,
+ 'SourceLine' => '416'
+ },
+ '305075' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'num_threads',
+ 'type' => '87'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_codec_set_threads',
+ 'Source' => undef,
+ 'SourceLine' => '405'
+ },
+ '305192' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'parameters',
+ 'type' => '130411'
+ }
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_set_default_decoder_parameters',
+ 'Source' => undef,
+ 'SourceLine' => '382'
+ },
+ '305351' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_format',
+ 'type' => '294521'
+ }
+ },
+ 'Return' => '300528',
+ 'ShortName' => 'opj_create_decompress',
+ 'Source' => undef,
+ 'SourceLine' => '179'
+ },
+ '306560' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'p_callback',
+ 'type' => '11773'
+ },
+ '2' => {
+ 'name' => 'p_user_data',
+ 'type' => '130'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_set_error_handler',
+ 'Source' => undef,
+ 'SourceLine' => '74'
+ },
+ '306657' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'p_callback',
+ 'type' => '11773'
+ },
+ '2' => {
+ 'name' => 'p_user_data',
+ 'type' => '130'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_set_warning_handler',
+ 'Source' => undef,
+ 'SourceLine' => '59'
+ },
+ '306754' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'p_callback',
+ 'type' => '11773'
+ },
+ '2' => {
+ 'name' => 'p_user_data',
+ 'type' => '130'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_set_info_handler',
+ 'Source' => undef,
+ 'SourceLine' => '44'
+ },
+ '8203' => {
+ 'Header' => 'openjpeg.h',
+ 'Return' => '87',
+ 'ShortName' => 'opj_get_num_cpus',
+ 'Source' => undef,
+ 'SourceLine' => '1770'
+ },
+ '8259' => {
+ 'Header' => 'openjpeg.h',
+ 'Return' => '2937',
+ 'ShortName' => 'opj_has_thread_support',
+ 'Source' => undef,
+ 'SourceLine' => '1767'
+ }
+ },
+ 'SymbolVersion' => {
+ '_ITM_deregisterTMCloneTable' => 'sysconf@@GLIBC_2.2.5',
+ '_ITM_registerTMCloneTable' => 'sysconf@@GLIBC_2.2.5',
+ '__gmon_start__' => 'sysconf@@GLIBC_2.2.5'
+ },
+ 'Symbols' => {
+ 'libopenjp2.so.2.5.0' => {
+ 'opj_codec_set_threads' => 1,
+ 'opj_create_compress' => 1,
+ 'opj_create_decompress' => 1,
+ 'opj_decode' => 1,
+ 'opj_decode_tile_data' => 1,
+ 'opj_decoder_set_strict_mode' => 1,
+ 'opj_destroy_codec' => 1,
+ 'opj_destroy_cstr_index' => 1,
+ 'opj_destroy_cstr_info' => 1,
+ 'opj_dump_codec' => 1,
+ 'opj_encode' => 1,
+ 'opj_encoder_set_extra_options' => 1,
+ 'opj_end_compress' => 1,
+ 'opj_end_decompress' => 1,
+ 'opj_get_cstr_index' => 1,
+ 'opj_get_cstr_info' => 1,
+ 'opj_get_decoded_tile' => 1,
+ 'opj_get_num_cpus' => 1,
+ 'opj_has_thread_support' => 1,
+ 'opj_image_create' => 1,
+ 'opj_image_data_alloc' => 1,
+ 'opj_image_data_free' => 1,
+ 'opj_image_destroy' => 1,
+ 'opj_image_tile_create' => 1,
+ 'opj_read_header' => 1,
+ 'opj_read_tile_header' => 1,
+ 'opj_set_MCT' => 1,
+ 'opj_set_decode_area' => 1,
+ 'opj_set_decoded_components' => 1,
+ 'opj_set_decoded_resolution_factor' => 1,
+ 'opj_set_default_decoder_parameters' => 1,
+ 'opj_set_default_encoder_parameters' => 1,
+ 'opj_set_error_handler' => 1,
+ 'opj_set_info_handler' => 1,
+ 'opj_set_warning_handler' => 1,
+ 'opj_setup_decoder' => 1,
+ 'opj_setup_encoder' => 1,
+ 'opj_start_compress' => 1,
+ 'opj_stream_create' => 1,
+ 'opj_stream_create_default_file_stream' => 1,
+ 'opj_stream_create_file_stream' => 1,
+ 'opj_stream_default_create' => 1,
+ 'opj_stream_destroy' => 1,
+ 'opj_stream_set_read_function' => 1,
+ 'opj_stream_set_seek_function' => 1,
+ 'opj_stream_set_skip_function' => 1,
+ 'opj_stream_set_user_data' => 1,
+ 'opj_stream_set_user_data_length' => 1,
+ 'opj_stream_set_write_function' => 1,
+ 'opj_version' => 1,
+ 'opj_write_tile' => 1
+ }
+ },
+ 'Target' => 'unix',
+ 'TypeInfo' => {
+ '1' => {
+ 'Name' => 'void',
+ 'Type' => 'Intrinsic'
+ },
+ '106' => {
+ 'BaseType' => '99',
+ 'Name' => '__off_t',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '152',
+ 'Type' => 'Typedef'
+ },
+ '10949' => {
+ 'BaseType' => '99',
+ 'Name' => '__int64_t',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '44',
+ 'Type' => 'Typedef'
+ },
+ '10961' => {
+ 'BaseType' => '66',
+ 'Name' => '__uint64_t',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '45',
+ 'Type' => 'Typedef'
+ },
+ '110607' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'dx',
+ 'offset' => '0',
+ 'type' => '9383'
+ },
+ '1' => {
+ 'name' => 'dy',
+ 'offset' => '4',
+ 'type' => '9383'
+ },
+ '2' => {
+ 'name' => 'w',
+ 'offset' => '8',
+ 'type' => '9383'
+ },
+ '3' => {
+ 'name' => 'h',
+ 'offset' => '12',
+ 'type' => '9383'
+ },
+ '4' => {
+ 'name' => 'x0',
+ 'offset' => '16',
+ 'type' => '9383'
+ },
+ '5' => {
+ 'name' => 'y0',
+ 'offset' => '20',
+ 'type' => '9383'
+ },
+ '6' => {
+ 'name' => 'prec',
+ 'offset' => '24',
+ 'type' => '9383'
+ },
+ '7' => {
+ 'name' => 'bpp',
+ 'offset' => '28',
+ 'type' => '9383'
+ },
+ '8' => {
+ 'name' => 'sgnd',
+ 'offset' => '32',
+ 'type' => '9383'
+ }
+ },
+ 'Name' => 'struct opj_image_comptparm',
+ 'Size' => '36',
+ 'Source' => undef,
+ 'SourceLine' => '734',
+ 'Type' => 'Struct'
+ },
+ '110740' => {
+ 'BaseType' => '110607',
+ 'Name' => 'opj_image_cmptparm_t',
+ 'Size' => '36',
+ 'Source' => undef,
+ 'SourceLine' => '753',
+ 'Type' => 'Typedef'
+ },
+ '112858' => {
+ 'BaseType' => '110740',
+ 'Name' => 'opj_image_cmptparm_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '11648' => {
+ 'BaseType' => '2340',
+ 'Name' => 'OPJ_FLOAT32',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '121',
+ 'Type' => 'Typedef'
+ },
+ '11689' => {
+ 'BaseType' => '10949',
+ 'Name' => 'int64_t',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '27',
+ 'Type' => 'Typedef'
+ },
+ '11713' => {
+ 'BaseType' => '10961',
+ 'Name' => 'uint64_t',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '27',
+ 'Type' => 'Typedef'
+ },
+ '11737' => {
+ 'BaseType' => '11713',
+ 'Name' => 'OPJ_UINT64',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '134',
+ 'Type' => 'Typedef'
+ },
+ '11749' => {
+ 'BaseType' => '11689',
+ 'Name' => 'OPJ_OFF_T',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '136',
+ 'Type' => 'Typedef'
+ },
+ '11773' => {
+ 'BaseType' => '11786',
+ 'Name' => 'opj_msg_callback',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '349',
+ 'Type' => 'Typedef'
+ },
+ '11786' => {
+ 'Name' => 'void(*)(char const*, void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '162'
+ },
+ '1' => {
+ 'type' => '130'
+ }
+ },
+ 'Return' => '1',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '118' => {
+ 'BaseType' => '99',
+ 'Name' => '__off64_t',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '153',
+ 'Type' => 'Typedef'
+ },
+ '11808' => {
+ 'BaseType' => '11821',
+ 'Name' => 'opj_stream_read_fn',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '637',
+ 'Type' => 'Typedef'
+ },
+ '11821' => {
+ 'Name' => 'OPJ_SIZE_T(*)(void*, OPJ_SIZE_T, void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '130'
+ },
+ '1' => {
+ 'type' => '9395'
+ },
+ '2' => {
+ 'type' => '130'
+ }
+ },
+ 'Return' => '9395',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '11852' => {
+ 'BaseType' => '11821',
+ 'Name' => 'opj_stream_write_fn',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '643',
+ 'Type' => 'Typedef'
+ },
+ '11865' => {
+ 'BaseType' => '11878',
+ 'Name' => 'opj_stream_skip_fn',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '649',
+ 'Type' => 'Typedef'
+ },
+ '11878' => {
+ 'Name' => 'OPJ_OFF_T(*)(OPJ_OFF_T, void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '11749'
+ },
+ '1' => {
+ 'type' => '130'
+ }
+ },
+ 'Return' => '11749',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '11904' => {
+ 'BaseType' => '11917',
+ 'Name' => 'opj_stream_seek_fn',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '655',
+ 'Type' => 'Typedef'
+ },
+ '11917' => {
+ 'Name' => 'OPJ_BOOL(*)(OPJ_OFF_T, void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '11749'
+ },
+ '1' => {
+ 'type' => '130'
+ }
+ },
+ 'Return' => '2937',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '11943' => {
+ 'BaseType' => '962',
+ 'Name' => 'opj_stream_free_user_data_fn',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '661',
+ 'Type' => 'Typedef'
+ },
+ '11973' => {
+ 'BaseType' => '130',
+ 'Name' => 'opj_stream_t',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '666',
+ 'Type' => 'Typedef'
+ },
+ '120235' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'OPJ_STD_RSIZ',
+ 'value' => '0'
+ },
+ '1' => {
+ 'name' => 'OPJ_CINEMA2K',
+ 'value' => '3'
+ },
+ '2' => {
+ 'name' => 'OPJ_CINEMA4K',
+ 'value' => '4'
+ },
+ '3' => {
+ 'name' => 'OPJ_MCT',
+ 'value' => '33024'
+ }
+ },
+ 'Name' => 'enum RSIZ_CAPABILITIES',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '282',
+ 'Type' => 'Enum'
+ },
+ '120280' => {
+ 'BaseType' => '120235',
+ 'Name' => 'OPJ_RSIZ_CAPABILITIES',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '287',
+ 'Type' => 'Typedef'
+ },
+ '120293' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'OPJ_OFF',
+ 'value' => '0'
+ },
+ '1' => {
+ 'name' => 'OPJ_CINEMA2K_24',
+ 'value' => '1'
+ },
+ '2' => {
+ 'name' => 'OPJ_CINEMA2K_48',
+ 'value' => '2'
+ },
+ '3' => {
+ 'name' => 'OPJ_CINEMA4K_24',
+ 'value' => '3'
+ }
+ },
+ 'Name' => 'enum CINEMA_MODE',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '293',
+ 'Type' => 'Enum'
+ },
+ '120337' => {
+ 'BaseType' => '120293',
+ 'Name' => 'OPJ_CINEMA_MODE',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '298',
+ 'Type' => 'Typedef'
+ },
+ '121080' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'tile_size_on',
+ 'offset' => '0',
+ 'type' => '2937'
+ },
+ '1' => {
+ 'name' => 'cp_tx0',
+ 'offset' => '4',
+ 'type' => '87'
+ },
+ '10' => {
+ 'name' => 'csty',
+ 'offset' => '48',
+ 'type' => '87'
+ },
+ '11' => {
+ 'name' => 'prog_order',
+ 'offset' => '52',
+ 'type' => '19990'
+ },
+ '12' => {
+ 'name' => 'POC',
+ 'offset' => '56',
+ 'type' => '20624'
+ },
+ '13' => {
+ 'name' => 'numpocs',
+ 'offset' => '4792',
+ 'type' => '9383'
+ },
+ '14' => {
+ 'name' => 'tcp_numlayers',
+ 'offset' => '4796',
+ 'type' => '87'
+ },
+ '15' => {
+ 'name' => 'tcp_rates',
+ 'offset' => '4800',
+ 'type' => '122005'
+ },
+ '16' => {
+ 'name' => 'tcp_distoratio',
+ 'offset' => '5200',
+ 'type' => '122005'
+ },
+ '17' => {
+ 'name' => 'numresolution',
+ 'offset' => '5600',
+ 'type' => '87'
+ },
+ '18' => {
+ 'name' => 'cblockw_init',
+ 'offset' => '5604',
+ 'type' => '87'
+ },
+ '19' => {
+ 'name' => 'cblockh_init',
+ 'offset' => '5608',
+ 'type' => '87'
+ },
+ '2' => {
+ 'name' => 'cp_ty0',
+ 'offset' => '8',
+ 'type' => '87'
+ },
+ '20' => {
+ 'name' => 'mode',
+ 'offset' => '5612',
+ 'type' => '87'
+ },
+ '21' => {
+ 'name' => 'irreversible',
+ 'offset' => '5616',
+ 'type' => '87'
+ },
+ '22' => {
+ 'name' => 'roi_compno',
+ 'offset' => '5620',
+ 'type' => '87'
+ },
+ '23' => {
+ 'name' => 'roi_shift',
+ 'offset' => '5624',
+ 'type' => '87'
+ },
+ '24' => {
+ 'name' => 'res_spec',
+ 'offset' => '5628',
+ 'type' => '87'
+ },
+ '25' => {
+ 'name' => 'prcw_init',
+ 'offset' => '5632',
+ 'type' => '122021'
+ },
+ '26' => {
+ 'name' => 'prch_init',
+ 'offset' => '5764',
+ 'type' => '122021'
+ },
+ '27' => {
+ 'name' => 'infile',
+ 'offset' => '5896',
+ 'type' => '122037'
+ },
+ '28' => {
+ 'name' => 'outfile',
+ 'offset' => '9992',
+ 'type' => '122037'
+ },
+ '29' => {
+ 'name' => 'index_on',
+ 'offset' => '14088',
+ 'type' => '87'
+ },
+ '3' => {
+ 'name' => 'cp_tdx',
+ 'offset' => '12',
+ 'type' => '87'
+ },
+ '30' => {
+ 'name' => 'index',
+ 'offset' => '14092',
+ 'type' => '122037'
+ },
+ '31' => {
+ 'name' => 'image_offset_x0',
+ 'offset' => '18188',
+ 'type' => '87'
+ },
+ '32' => {
+ 'name' => 'image_offset_y0',
+ 'offset' => '18192',
+ 'type' => '87'
+ },
+ '33' => {
+ 'name' => 'subsampling_dx',
+ 'offset' => '18196',
+ 'type' => '87'
+ },
+ '34' => {
+ 'name' => 'subsampling_dy',
+ 'offset' => '18200',
+ 'type' => '87'
+ },
+ '35' => {
+ 'name' => 'decod_format',
+ 'offset' => '18204',
+ 'type' => '87'
+ },
+ '36' => {
+ 'name' => 'cod_format',
+ 'offset' => '18208',
+ 'type' => '87'
+ },
+ '37' => {
+ 'name' => 'jpwl_epc_on',
+ 'offset' => '18212',
+ 'type' => '2937'
+ },
+ '38' => {
+ 'name' => 'jpwl_hprot_MH',
+ 'offset' => '18216',
+ 'type' => '87'
+ },
+ '39' => {
+ 'name' => 'jpwl_hprot_TPH_tileno',
+ 'offset' => '18220',
+ 'type' => '122054'
+ },
+ '4' => {
+ 'name' => 'cp_tdy',
+ 'offset' => '16',
+ 'type' => '87'
+ },
+ '40' => {
+ 'name' => 'jpwl_hprot_TPH',
+ 'offset' => '18284',
+ 'type' => '122054'
+ },
+ '41' => {
+ 'name' => 'jpwl_pprot_tileno',
+ 'offset' => '18348',
+ 'type' => '122054'
+ },
+ '42' => {
+ 'name' => 'jpwl_pprot_packno',
+ 'offset' => '18412',
+ 'type' => '122054'
+ },
+ '43' => {
+ 'name' => 'jpwl_pprot',
+ 'offset' => '18476',
+ 'type' => '122054'
+ },
+ '44' => {
+ 'name' => 'jpwl_sens_size',
+ 'offset' => '18540',
+ 'type' => '87'
+ },
+ '45' => {
+ 'name' => 'jpwl_sens_addr',
+ 'offset' => '18544',
+ 'type' => '87'
+ },
+ '46' => {
+ 'name' => 'jpwl_sens_range',
+ 'offset' => '18548',
+ 'type' => '87'
+ },
+ '47' => {
+ 'name' => 'jpwl_sens_MH',
+ 'offset' => '18552',
+ 'type' => '87'
+ },
+ '48' => {
+ 'name' => 'jpwl_sens_TPH_tileno',
+ 'offset' => '18556',
+ 'type' => '122054'
+ },
+ '49' => {
+ 'name' => 'jpwl_sens_TPH',
+ 'offset' => '18620',
+ 'type' => '122054'
+ },
+ '5' => {
+ 'name' => 'cp_disto_alloc',
+ 'offset' => '20',
+ 'type' => '87'
+ },
+ '50' => {
+ 'name' => 'cp_cinema',
+ 'offset' => '18684',
+ 'type' => '120337'
+ },
+ '51' => {
+ 'name' => 'max_comp_size',
+ 'offset' => '18688',
+ 'type' => '87'
+ },
+ '52' => {
+ 'name' => 'cp_rsiz',
+ 'offset' => '18692',
+ 'type' => '120280'
+ },
+ '53' => {
+ 'name' => 'tp_on',
+ 'offset' => '18696',
+ 'type' => '138'
+ },
+ '54' => {
+ 'name' => 'tp_flag',
+ 'offset' => '18697',
+ 'type' => '138'
+ },
+ '55' => {
+ 'name' => 'tcp_mct',
+ 'offset' => '18698',
+ 'type' => '138'
+ },
+ '56' => {
+ 'name' => 'jpip_on',
+ 'offset' => '18700',
+ 'type' => '2937'
+ },
+ '57' => {
+ 'name' => 'mct_data',
+ 'offset' => '18704',
+ 'type' => '130'
+ },
+ '58' => {
+ 'name' => 'max_cs_size',
+ 'offset' => '18712',
+ 'type' => '87'
+ },
+ '59' => {
+ 'name' => 'rsiz',
+ 'offset' => '18716',
+ 'type' => '19859'
+ },
+ '6' => {
+ 'name' => 'cp_fixed_alloc',
+ 'offset' => '24',
+ 'type' => '87'
+ },
+ '7' => {
+ 'name' => 'cp_fixed_quality',
+ 'offset' => '28',
+ 'type' => '87'
+ },
+ '8' => {
+ 'name' => 'cp_matrice',
+ 'offset' => '32',
+ 'type' => '121983'
+ },
+ '9' => {
+ 'name' => 'cp_comment',
+ 'offset' => '40',
+ 'type' => '132'
+ }
+ },
+ 'Name' => 'struct opj_cparameters',
+ 'Size' => '18720',
+ 'Source' => undef,
+ 'SourceLine' => '393',
+ 'Type' => 'Struct'
+ },
+ '121983' => {
+ 'BaseType' => '87',
+ 'Name' => 'int*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '122005' => {
+ 'BaseType' => '2340',
+ 'Name' => 'float[100]',
+ 'Size' => '400',
+ 'Type' => 'Array'
+ },
+ '122021' => {
+ 'BaseType' => '87',
+ 'Name' => 'int[33]',
+ 'Size' => '132',
+ 'Type' => 'Array'
+ },
+ '122037' => {
+ 'BaseType' => '138',
+ 'Name' => 'char[4096]',
+ 'Size' => '4096',
+ 'Type' => 'Array'
+ },
+ '122054' => {
+ 'BaseType' => '87',
+ 'Name' => 'int[16]',
+ 'Size' => '64',
+ 'Type' => 'Array'
+ },
+ '122070' => {
+ 'BaseType' => '121080',
+ 'Name' => 'opj_cparameters_t',
+ 'Size' => '18720',
+ 'Source' => undef,
+ 'SourceLine' => '544',
+ 'Type' => 'Typedef'
+ },
+ '122083' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'cp_reduce',
+ 'offset' => '0',
+ 'type' => '9383'
+ },
+ '1' => {
+ 'name' => 'cp_layer',
+ 'offset' => '4',
+ 'type' => '9383'
+ },
+ '10' => {
+ 'name' => 'm_verbose',
+ 'offset' => '8224',
+ 'type' => '2937'
+ },
+ '11' => {
+ 'name' => 'tile_index',
+ 'offset' => '8228',
+ 'type' => '9383'
+ },
+ '12' => {
+ 'name' => 'nb_tile_to_decode',
+ 'offset' => '8232',
+ 'type' => '9383'
+ },
+ '13' => {
+ 'name' => 'jpwl_correct',
+ 'offset' => '8236',
+ 'type' => '2937'
+ },
+ '14' => {
+ 'name' => 'jpwl_exp_comps',
+ 'offset' => '8240',
+ 'type' => '87'
+ },
+ '15' => {
+ 'name' => 'jpwl_max_tiles',
+ 'offset' => '8244',
+ 'type' => '87'
+ },
+ '16' => {
+ 'name' => 'flags',
+ 'offset' => '8248',
+ 'type' => '59'
+ },
+ '2' => {
+ 'name' => 'infile',
+ 'offset' => '8',
+ 'type' => '122037'
+ },
+ '3' => {
+ 'name' => 'outfile',
+ 'offset' => '4104',
+ 'type' => '122037'
+ },
+ '4' => {
+ 'name' => 'decod_format',
+ 'offset' => '8200',
+ 'type' => '87'
+ },
+ '5' => {
+ 'name' => 'cod_format',
+ 'offset' => '8204',
+ 'type' => '87'
+ },
+ '6' => {
+ 'name' => 'DA_x0',
+ 'offset' => '8208',
+ 'type' => '9383'
+ },
+ '7' => {
+ 'name' => 'DA_x1',
+ 'offset' => '8212',
+ 'type' => '9383'
+ },
+ '8' => {
+ 'name' => 'DA_y0',
+ 'offset' => '8216',
+ 'type' => '9383'
+ },
+ '9' => {
+ 'name' => 'DA_y1',
+ 'offset' => '8220',
+ 'type' => '9383'
+ }
+ },
+ 'Name' => 'struct opj_dparameters',
+ 'Size' => '8252',
+ 'Source' => undef,
+ 'SourceLine' => '552',
+ 'Type' => 'Struct'
+ },
+ '122351' => {
+ 'BaseType' => '122083',
+ 'Name' => 'opj_dparameters_t',
+ 'Size' => '8252',
+ 'Source' => undef,
+ 'SourceLine' => '612',
+ 'Type' => 'Typedef'
+ },
+ '122899' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'start_pos',
+ 'offset' => '0',
+ 'type' => '11749'
+ },
+ '1' => {
+ 'name' => 'end_ph_pos',
+ 'offset' => '8',
+ 'type' => '11749'
+ },
+ '2' => {
+ 'name' => 'end_pos',
+ 'offset' => '16',
+ 'type' => '11749'
+ },
+ '3' => {
+ 'name' => 'disto',
+ 'offset' => '24',
+ 'type' => '2347'
+ }
+ },
+ 'Name' => 'struct opj_packet_info',
+ 'Size' => '32',
+ 'Source' => undef,
+ 'SourceLine' => '766',
+ 'Type' => 'Struct'
+ },
+ '122970' => {
+ 'BaseType' => '122899',
+ 'Name' => 'opj_packet_info_t',
+ 'Size' => '32',
+ 'Source' => undef,
+ 'SourceLine' => '775',
+ 'Type' => 'Typedef'
+ },
+ '122983' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'type',
+ 'offset' => '0',
+ 'type' => '52'
+ },
+ '1' => {
+ 'name' => 'pos',
+ 'offset' => '8',
+ 'type' => '11749'
+ },
+ '2' => {
+ 'name' => 'len',
+ 'offset' => '16',
+ 'type' => '87'
+ }
+ },
+ 'Name' => 'struct opj_marker_info',
+ 'Size' => '24',
+ 'Source' => undef,
+ 'SourceLine' => '782',
+ 'Type' => 'Struct'
+ },
+ '123040' => {
+ 'BaseType' => '122983',
+ 'Name' => 'opj_marker_info_t',
+ 'Size' => '24',
+ 'Source' => undef,
+ 'SourceLine' => '789',
+ 'Type' => 'Typedef'
+ },
+ '123418' => {
+ 'BaseType' => '122970',
+ 'Name' => 'opj_packet_info_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '123424' => {
+ 'BaseType' => '123040',
+ 'Name' => 'opj_marker_info_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '123789' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'compno',
+ 'offset' => '0',
+ 'type' => '9383'
+ },
+ '1' => {
+ 'name' => 'csty',
+ 'offset' => '4',
+ 'type' => '9383'
+ },
+ '10' => {
+ 'name' => 'numgbits',
+ 'offset' => '808',
+ 'type' => '9383'
+ },
+ '11' => {
+ 'name' => 'roishift',
+ 'offset' => '812',
+ 'type' => '9371'
+ },
+ '12' => {
+ 'name' => 'prcw',
+ 'offset' => '816',
+ 'type' => '21015'
+ },
+ '13' => {
+ 'name' => 'prch',
+ 'offset' => '948',
+ 'type' => '21015'
+ },
+ '2' => {
+ 'name' => 'numresolutions',
+ 'offset' => '8',
+ 'type' => '9383'
+ },
+ '3' => {
+ 'name' => 'cblkw',
+ 'offset' => '12',
+ 'type' => '9383'
+ },
+ '4' => {
+ 'name' => 'cblkh',
+ 'offset' => '16',
+ 'type' => '9383'
+ },
+ '5' => {
+ 'name' => 'cblksty',
+ 'offset' => '20',
+ 'type' => '9383'
+ },
+ '6' => {
+ 'name' => 'qmfbid',
+ 'offset' => '24',
+ 'type' => '9383'
+ },
+ '7' => {
+ 'name' => 'qntsty',
+ 'offset' => '28',
+ 'type' => '9383'
+ },
+ '8' => {
+ 'name' => 'stepsizes_mant',
+ 'offset' => '32',
+ 'type' => '124006'
+ },
+ '9' => {
+ 'name' => 'stepsizes_expn',
+ 'offset' => '420',
+ 'type' => '124006'
+ }
+ },
+ 'Name' => 'struct opj_tccp_info',
+ 'Size' => '1080',
+ 'Source' => undef,
+ 'SourceLine' => '906',
+ 'Type' => 'Struct'
+ },
+ '124006' => {
+ 'BaseType' => '9383',
+ 'Name' => 'OPJ_UINT32[97]',
+ 'Size' => '388',
+ 'Type' => 'Array'
+ },
+ '124038' => {
+ 'BaseType' => '123789',
+ 'Name' => 'opj_tccp_info_t',
+ 'Size' => '1080',
+ 'Source' => undef,
+ 'SourceLine' => '936',
+ 'Type' => 'Typedef'
+ },
+ '124051' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'tileno',
+ 'offset' => '0',
+ 'type' => '87'
+ },
+ '1' => {
+ 'name' => 'csty',
+ 'offset' => '4',
+ 'type' => '9383'
+ },
+ '2' => {
+ 'name' => 'prg',
+ 'offset' => '8',
+ 'type' => '19990'
+ },
+ '3' => {
+ 'name' => 'numlayers',
+ 'offset' => '12',
+ 'type' => '9383'
+ },
+ '4' => {
+ 'name' => 'mct',
+ 'offset' => '16',
+ 'type' => '9383'
+ },
+ '5' => {
+ 'name' => 'tccp_info',
+ 'offset' => '24',
+ 'type' => '124150'
+ }
+ },
+ 'Name' => 'struct opj_tile_v2_info',
+ 'Size' => '32',
+ 'Source' => undef,
+ 'SourceLine' => '941',
+ 'Type' => 'Struct'
+ },
+ '12409' => {
+ 'BaseType' => '11648',
+ 'Name' => 'OPJ_FLOAT32*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '12415' => {
+ 'BaseType' => '9383',
+ 'Name' => 'OPJ_UINT32*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '124150' => {
+ 'BaseType' => '124038',
+ 'Name' => 'opj_tccp_info_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '124156' => {
+ 'BaseType' => '124051',
+ 'Name' => 'opj_tile_info_v2_t',
+ 'Size' => '32',
+ 'Source' => undef,
+ 'SourceLine' => '957',
+ 'Type' => 'Typedef'
+ },
+ '124169' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'tx0',
+ 'offset' => '0',
+ 'type' => '9383'
+ },
+ '1' => {
+ 'name' => 'ty0',
+ 'offset' => '4',
+ 'type' => '9383'
+ },
+ '2' => {
+ 'name' => 'tdx',
+ 'offset' => '8',
+ 'type' => '9383'
+ },
+ '3' => {
+ 'name' => 'tdy',
+ 'offset' => '12',
+ 'type' => '9383'
+ },
+ '4' => {
+ 'name' => 'tw',
+ 'offset' => '16',
+ 'type' => '9383'
+ },
+ '5' => {
+ 'name' => 'th',
+ 'offset' => '20',
+ 'type' => '9383'
+ },
+ '6' => {
+ 'name' => 'nbcomps',
+ 'offset' => '24',
+ 'type' => '9383'
+ },
+ '7' => {
+ 'name' => 'm_default_tile_info',
+ 'offset' => '32',
+ 'type' => '124156'
+ },
+ '8' => {
+ 'name' => 'tile_info',
+ 'offset' => '64',
+ 'type' => '124308'
+ }
+ },
+ 'Name' => 'struct opj_codestream_info_v2',
+ 'Size' => '72',
+ 'Source' => undef,
+ 'SourceLine' => '962',
+ 'Type' => 'Struct'
+ },
+ '124308' => {
+ 'BaseType' => '124156',
+ 'Name' => 'opj_tile_info_v2_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '124314' => {
+ 'BaseType' => '124169',
+ 'Name' => 'opj_codestream_info_v2_t',
+ 'Size' => '72',
+ 'Source' => undef,
+ 'SourceLine' => '986',
+ 'Type' => 'Typedef'
+ },
+ '124327' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'start_pos',
+ 'offset' => '0',
+ 'type' => '11749'
+ },
+ '1' => {
+ 'name' => 'end_header',
+ 'offset' => '8',
+ 'type' => '11749'
+ },
+ '2' => {
+ 'name' => 'end_pos',
+ 'offset' => '16',
+ 'type' => '11749'
+ }
+ },
+ 'Name' => 'struct opj_tp_index',
+ 'Size' => '24',
+ 'Source' => undef,
+ 'SourceLine' => '992',
+ 'Type' => 'Struct'
+ },
+ '124384' => {
+ 'BaseType' => '124327',
+ 'Name' => 'opj_tp_index_t',
+ 'Size' => '24',
+ 'Source' => undef,
+ 'SourceLine' => '1000',
+ 'Type' => 'Typedef'
+ },
+ '124397' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'tileno',
+ 'offset' => '0',
+ 'type' => '9383'
+ },
+ '1' => {
+ 'name' => 'nb_tps',
+ 'offset' => '4',
+ 'type' => '9383'
+ },
+ '2' => {
+ 'name' => 'current_nb_tps',
+ 'offset' => '8',
+ 'type' => '9383'
+ },
+ '3' => {
+ 'name' => 'current_tpsno',
+ 'offset' => '12',
+ 'type' => '9383'
+ },
+ '4' => {
+ 'name' => 'tp_index',
+ 'offset' => '16',
+ 'type' => '124552'
+ },
+ '5' => {
+ 'name' => 'marknum',
+ 'offset' => '24',
+ 'type' => '9383'
+ },
+ '6' => {
+ 'name' => 'marker',
+ 'offset' => '32',
+ 'type' => '123424'
+ },
+ '7' => {
+ 'name' => 'maxmarknum',
+ 'offset' => '40',
+ 'type' => '9383'
+ },
+ '8' => {
+ 'name' => 'nb_packet',
+ 'offset' => '44',
+ 'type' => '9383'
+ },
+ '9' => {
+ 'name' => 'packet_index',
+ 'offset' => '48',
+ 'type' => '123418'
+ }
+ },
+ 'Name' => 'struct opj_tile_index',
+ 'Size' => '56',
+ 'Source' => undef,
+ 'SourceLine' => '1005',
+ 'Type' => 'Struct'
+ },
+ '124552' => {
+ 'BaseType' => '124384',
+ 'Name' => 'opj_tp_index_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '124558' => {
+ 'BaseType' => '124397',
+ 'Name' => 'opj_tile_index_t',
+ 'Size' => '56',
+ 'Source' => undef,
+ 'SourceLine' => '1032',
+ 'Type' => 'Typedef'
+ },
+ '124571' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'main_head_start',
+ 'offset' => '0',
+ 'type' => '11749'
+ },
+ '1' => {
+ 'name' => 'main_head_end',
+ 'offset' => '8',
+ 'type' => '11749'
+ },
+ '2' => {
+ 'name' => 'codestream_size',
+ 'offset' => '16',
+ 'type' => '11737'
+ },
+ '3' => {
+ 'name' => 'marknum',
+ 'offset' => '24',
+ 'type' => '9383'
+ },
+ '4' => {
+ 'name' => 'marker',
+ 'offset' => '32',
+ 'type' => '123424'
+ },
+ '5' => {
+ 'name' => 'maxmarknum',
+ 'offset' => '40',
+ 'type' => '9383'
+ },
+ '6' => {
+ 'name' => 'nb_of_tiles',
+ 'offset' => '44',
+ 'type' => '9383'
+ },
+ '7' => {
+ 'name' => 'tile_index',
+ 'offset' => '48',
+ 'type' => '124698'
+ }
+ },
+ 'Name' => 'struct opj_codestream_index',
+ 'Size' => '56',
+ 'Source' => undef,
+ 'SourceLine' => '1037',
+ 'Type' => 'Struct'
+ },
+ '124698' => {
+ 'BaseType' => '124558',
+ 'Name' => 'opj_tile_index_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '124704' => {
+ 'BaseType' => '124571',
+ 'Name' => 'opj_codestream_index_t',
+ 'Size' => '56',
+ 'Source' => undef,
+ 'SourceLine' => '1060',
+ 'Type' => 'Typedef'
+ },
+ '127977' => {
+ 'BaseType' => '124704',
+ 'Name' => 'opj_codestream_index_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '130' => {
+ 'BaseType' => '1',
+ 'Name' => 'void*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '130405' => {
+ 'BaseType' => '22911',
+ 'Name' => 'opj_image_t**',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '130411' => {
+ 'BaseType' => '122351',
+ 'Name' => 'opj_dparameters_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '130423' => {
+ 'BaseType' => '19900',
+ 'Name' => 'OPJ_UINT32 const*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '130429' => {
+ 'BaseType' => '122070',
+ 'Name' => 'opj_cparameters_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '130435' => {
+ 'BaseType' => '168',
+ 'Name' => 'char const*const*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '130441' => {
+ 'BaseType' => '124314',
+ 'Name' => 'opj_codestream_info_v2_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '132' => {
+ 'BaseType' => '138',
+ 'Name' => 'char*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '138' => {
+ 'Name' => 'char',
+ 'Size' => '1',
+ 'Type' => 'Intrinsic'
+ },
+ '145' => {
+ 'BaseType' => '138',
+ 'Name' => 'char const',
+ 'Size' => '1',
+ 'Type' => 'Const'
+ },
+ '150' => {
+ 'BaseType' => '66',
+ 'Name' => 'size_t',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '209',
+ 'Type' => 'Typedef'
+ },
+ '15773' => {
+ 'BaseType' => '11973',
+ 'Name' => 'opj_stream_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '162' => {
+ 'BaseType' => '145',
+ 'Name' => 'char const*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '168' => {
+ 'BaseType' => '162',
+ 'Name' => 'char const*const',
+ 'Size' => '8',
+ 'Type' => 'Const'
+ },
+ '18954' => {
+ 'BaseType' => '52',
+ 'Name' => '__uint16_t',
+ 'Size' => '2',
+ 'Source' => undef,
+ 'SourceLine' => '40',
+ 'Type' => 'Typedef'
+ },
+ '19765' => {
+ 'BaseType' => '138',
+ 'Name' => 'OPJ_CHAR',
+ 'Size' => '1',
+ 'Source' => undef,
+ 'SourceLine' => '120',
+ 'Type' => 'Typedef'
+ },
+ '19823' => {
+ 'BaseType' => '18954',
+ 'Name' => 'uint16_t',
+ 'Size' => '2',
+ 'Source' => undef,
+ 'SourceLine' => '25',
+ 'Type' => 'Typedef'
+ },
+ '19859' => {
+ 'BaseType' => '19823',
+ 'Name' => 'OPJ_UINT16',
+ 'Size' => '2',
+ 'Source' => undef,
+ 'SourceLine' => '130',
+ 'Type' => 'Typedef'
+ },
+ '19900' => {
+ 'BaseType' => '9383',
+ 'Name' => 'OPJ_UINT32 const',
+ 'Size' => '4',
+ 'Type' => 'Const'
+ },
+ '19934' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'OPJ_PROG_UNKNOWN',
+ 'value' => '18446744073709551615 (-1)'
+ },
+ '1' => {
+ 'name' => 'OPJ_LRCP',
+ 'value' => '0'
+ },
+ '2' => {
+ 'name' => 'OPJ_RLCP',
+ 'value' => '1'
+ },
+ '3' => {
+ 'name' => 'OPJ_RPCL',
+ 'value' => '2'
+ },
+ '4' => {
+ 'name' => 'OPJ_PCRL',
+ 'value' => '3'
+ },
+ '5' => {
+ 'name' => 'OPJ_CPRL',
+ 'value' => '4'
+ }
+ },
+ 'Name' => 'enum PROG_ORDER',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '303',
+ 'Type' => 'Enum'
+ },
+ '19990' => {
+ 'BaseType' => '19934',
+ 'Name' => 'OPJ_PROG_ORDER',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '310',
+ 'Type' => 'Typedef'
+ },
+ '20003' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'OPJ_CLRSPC_UNKNOWN',
+ 'value' => '18446744073709551615 (-1)'
+ },
+ '1' => {
+ 'name' => 'OPJ_CLRSPC_UNSPECIFIED',
+ 'value' => '0'
+ },
+ '2' => {
+ 'name' => 'OPJ_CLRSPC_SRGB',
+ 'value' => '1'
+ },
+ '3' => {
+ 'name' => 'OPJ_CLRSPC_GRAY',
+ 'value' => '2'
+ },
+ '4' => {
+ 'name' => 'OPJ_CLRSPC_SYCC',
+ 'value' => '3'
+ },
+ '5' => {
+ 'name' => 'OPJ_CLRSPC_EYCC',
+ 'value' => '4'
+ },
+ '6' => {
+ 'name' => 'OPJ_CLRSPC_CMYK',
+ 'value' => '5'
+ }
+ },
+ 'Name' => 'enum COLOR_SPACE',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '315',
+ 'Type' => 'Enum'
+ },
+ '20065' => {
+ 'BaseType' => '20003',
+ 'Name' => 'OPJ_COLOR_SPACE',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '323',
+ 'Type' => 'Typedef'
+ },
+ '20078' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'resno0',
+ 'offset' => '0',
+ 'type' => '9383'
+ },
+ '1' => {
+ 'name' => 'compno0',
+ 'offset' => '4',
+ 'type' => '9383'
+ },
+ '10' => {
+ 'name' => 'progorder',
+ 'offset' => '40',
+ 'type' => '20595'
+ },
+ '11' => {
+ 'name' => 'tile',
+ 'offset' => '48',
+ 'type' => '9383'
+ },
+ '12' => {
+ 'name' => 'tx0',
+ 'offset' => '52',
+ 'type' => '9371'
+ },
+ '13' => {
+ 'name' => 'tx1',
+ 'offset' => '56',
+ 'type' => '9371'
+ },
+ '14' => {
+ 'name' => 'ty0',
+ 'offset' => '60',
+ 'type' => '9371'
+ },
+ '15' => {
+ 'name' => 'ty1',
+ 'offset' => '64',
+ 'type' => '9371'
+ },
+ '16' => {
+ 'name' => 'layS',
+ 'offset' => '68',
+ 'type' => '9383'
+ },
+ '17' => {
+ 'name' => 'resS',
+ 'offset' => '72',
+ 'type' => '9383'
+ },
+ '18' => {
+ 'name' => 'compS',
+ 'offset' => '76',
+ 'type' => '9383'
+ },
+ '19' => {
+ 'name' => 'prcS',
+ 'offset' => '80',
+ 'type' => '9383'
+ },
+ '2' => {
+ 'name' => 'layno1',
+ 'offset' => '8',
+ 'type' => '9383'
+ },
+ '20' => {
+ 'name' => 'layE',
+ 'offset' => '84',
+ 'type' => '9383'
+ },
+ '21' => {
+ 'name' => 'resE',
+ 'offset' => '88',
+ 'type' => '9383'
+ },
+ '22' => {
+ 'name' => 'compE',
+ 'offset' => '92',
+ 'type' => '9383'
+ },
+ '23' => {
+ 'name' => 'prcE',
+ 'offset' => '96',
+ 'type' => '9383'
+ },
+ '24' => {
+ 'name' => 'txS',
+ 'offset' => '100',
+ 'type' => '9383'
+ },
+ '25' => {
+ 'name' => 'txE',
+ 'offset' => '104',
+ 'type' => '9383'
+ },
+ '26' => {
+ 'name' => 'tyS',
+ 'offset' => '108',
+ 'type' => '9383'
+ },
+ '27' => {
+ 'name' => 'tyE',
+ 'offset' => '112',
+ 'type' => '9383'
+ },
+ '28' => {
+ 'name' => 'dx',
+ 'offset' => '116',
+ 'type' => '9383'
+ },
+ '29' => {
+ 'name' => 'dy',
+ 'offset' => '120',
+ 'type' => '9383'
+ },
+ '3' => {
+ 'name' => 'resno1',
+ 'offset' => '12',
+ 'type' => '9383'
+ },
+ '30' => {
+ 'name' => 'lay_t',
+ 'offset' => '124',
+ 'type' => '9383'
+ },
+ '31' => {
+ 'name' => 'res_t',
+ 'offset' => '128',
+ 'type' => '9383'
+ },
+ '32' => {
+ 'name' => 'comp_t',
+ 'offset' => '132',
+ 'type' => '9383'
+ },
+ '33' => {
+ 'name' => 'prc_t',
+ 'offset' => '136',
+ 'type' => '9383'
+ },
+ '34' => {
+ 'name' => 'tx0_t',
+ 'offset' => '140',
+ 'type' => '9383'
+ },
+ '35' => {
+ 'name' => 'ty0_t',
+ 'offset' => '144',
+ 'type' => '9383'
+ },
+ '4' => {
+ 'name' => 'compno1',
+ 'offset' => '16',
+ 'type' => '9383'
+ },
+ '5' => {
+ 'name' => 'layno0',
+ 'offset' => '20',
+ 'type' => '9383'
+ },
+ '6' => {
+ 'name' => 'precno0',
+ 'offset' => '24',
+ 'type' => '9383'
+ },
+ '7' => {
+ 'name' => 'precno1',
+ 'offset' => '28',
+ 'type' => '9383'
+ },
+ '8' => {
+ 'name' => 'prg1',
+ 'offset' => '32',
+ 'type' => '19990'
+ },
+ '9' => {
+ 'name' => 'prg',
+ 'offset' => '36',
+ 'type' => '19990'
+ }
+ },
+ 'Name' => 'struct opj_poc',
+ 'Size' => '148',
+ 'Source' => undef,
+ 'SourceLine' => '365',
+ 'Type' => 'Struct'
+ },
+ '20595' => {
+ 'BaseType' => '19765',
+ 'Name' => 'OPJ_CHAR[5]',
+ 'Size' => '5',
+ 'Type' => 'Array'
+ },
+ '20611' => {
+ 'BaseType' => '20078',
+ 'Name' => 'opj_poc_t',
+ 'Size' => '148',
+ 'Source' => undef,
+ 'SourceLine' => '388',
+ 'Type' => 'Typedef'
+ },
+ '20624' => {
+ 'BaseType' => '20611',
+ 'Name' => 'opj_poc_t[32]',
+ 'Size' => '4736',
+ 'Type' => 'Array'
+ },
+ '20640' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'dx',
+ 'offset' => '0',
+ 'type' => '9383'
+ },
+ '1' => {
+ 'name' => 'dy',
+ 'offset' => '4',
+ 'type' => '9383'
+ },
+ '10' => {
+ 'name' => 'factor',
+ 'offset' => '40',
+ 'type' => '9383'
+ },
+ '11' => {
+ 'name' => 'data',
+ 'offset' => '48',
+ 'type' => '20829'
+ },
+ '12' => {
+ 'name' => 'alpha',
+ 'offset' => '56',
+ 'type' => '19859'
+ },
+ '2' => {
+ 'name' => 'w',
+ 'offset' => '8',
+ 'type' => '9383'
+ },
+ '3' => {
+ 'name' => 'h',
+ 'offset' => '12',
+ 'type' => '9383'
+ },
+ '4' => {
+ 'name' => 'x0',
+ 'offset' => '16',
+ 'type' => '9383'
+ },
+ '5' => {
+ 'name' => 'y0',
+ 'offset' => '20',
+ 'type' => '9383'
+ },
+ '6' => {
+ 'name' => 'prec',
+ 'offset' => '24',
+ 'type' => '9383'
+ },
+ '7' => {
+ 'name' => 'bpp',
+ 'offset' => '28',
+ 'type' => '9383'
+ },
+ '8' => {
+ 'name' => 'sgnd',
+ 'offset' => '32',
+ 'type' => '9383'
+ },
+ '9' => {
+ 'name' => 'resno_decoded',
+ 'offset' => '36',
+ 'type' => '9383'
+ }
+ },
+ 'Name' => 'struct opj_image_comp',
+ 'Size' => '64',
+ 'Source' => undef,
+ 'SourceLine' => '677',
+ 'Type' => 'Struct'
+ },
+ '20829' => {
+ 'BaseType' => '9371',
+ 'Name' => 'OPJ_INT32*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '20840' => {
+ 'BaseType' => '20640',
+ 'Name' => 'opj_image_comp_t',
+ 'Size' => '64',
+ 'Source' => undef,
+ 'SourceLine' => '704',
+ 'Type' => 'Typedef'
+ },
+ '20853' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'x0',
+ 'offset' => '0',
+ 'type' => '9383'
+ },
+ '1' => {
+ 'name' => 'y0',
+ 'offset' => '4',
+ 'type' => '9383'
+ },
+ '2' => {
+ 'name' => 'x1',
+ 'offset' => '8',
+ 'type' => '9383'
+ },
+ '3' => {
+ 'name' => 'y1',
+ 'offset' => '12',
+ 'type' => '9383'
+ },
+ '4' => {
+ 'name' => 'numcomps',
+ 'offset' => '16',
+ 'type' => '9383'
+ },
+ '5' => {
+ 'name' => 'color_space',
+ 'offset' => '20',
+ 'type' => '20065'
+ },
+ '6' => {
+ 'name' => 'comps',
+ 'offset' => '24',
+ 'type' => '20990'
+ },
+ '7' => {
+ 'name' => 'icc_profile_buf',
+ 'offset' => '32',
+ 'type' => '9407'
+ },
+ '8' => {
+ 'name' => 'icc_profile_len',
+ 'offset' => '40',
+ 'type' => '9383'
+ }
+ },
+ 'Name' => 'struct opj_image',
+ 'Size' => '48',
+ 'Source' => undef,
+ 'SourceLine' => '709',
+ 'Type' => 'Struct'
+ },
+ '20990' => {
+ 'BaseType' => '20840',
+ 'Name' => 'opj_image_comp_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '21002' => {
+ 'BaseType' => '20853',
+ 'Name' => 'opj_image_t',
+ 'Size' => '48',
+ 'Source' => undef,
+ 'SourceLine' => '728',
+ 'Type' => 'Typedef'
+ },
+ '21015' => {
+ 'BaseType' => '9383',
+ 'Name' => 'OPJ_UINT32[33]',
+ 'Size' => '132',
+ 'Type' => 'Array'
+ },
+ '22911' => {
+ 'BaseType' => '21002',
+ 'Name' => 'opj_image_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2340' => {
+ 'Name' => 'float',
+ 'Size' => '4',
+ 'Type' => 'Intrinsic'
+ },
+ '2347' => {
+ 'Name' => 'double',
+ 'Size' => '8',
+ 'Type' => 'Intrinsic'
+ },
+ '2367' => {
+ 'Memb' => {
+ '0' => {
+ 'name' => '_flags',
+ 'offset' => '0',
+ 'type' => '87'
+ },
+ '1' => {
+ 'name' => '_IO_read_ptr',
+ 'offset' => '8',
+ 'type' => '132'
+ },
+ '10' => {
+ 'name' => '_IO_backup_base',
+ 'offset' => '80',
+ 'type' => '132'
+ },
+ '11' => {
+ 'name' => '_IO_save_end',
+ 'offset' => '88',
+ 'type' => '132'
+ },
+ '12' => {
+ 'name' => '_markers',
+ 'offset' => '96',
+ 'type' => '2783'
+ },
+ '13' => {
+ 'name' => '_chain',
+ 'offset' => '104',
+ 'type' => '2789'
+ },
+ '14' => {
+ 'name' => '_fileno',
+ 'offset' => '112',
+ 'type' => '87'
+ },
+ '15' => {
+ 'name' => '_flags2',
+ 'offset' => '116',
+ 'type' => '87'
+ },
+ '16' => {
+ 'name' => '_old_offset',
+ 'offset' => '120',
+ 'type' => '106'
+ },
+ '17' => {
+ 'name' => '_cur_column',
+ 'offset' => '128',
+ 'type' => '52'
+ },
+ '18' => {
+ 'name' => '_vtable_offset',
+ 'offset' => '130',
+ 'type' => '73'
+ },
+ '19' => {
+ 'name' => '_shortbuf',
+ 'offset' => '131',
+ 'type' => '2795'
+ },
+ '2' => {
+ 'name' => '_IO_read_end',
+ 'offset' => '16',
+ 'type' => '132'
+ },
+ '20' => {
+ 'name' => '_lock',
+ 'offset' => '136',
+ 'type' => '2811'
+ },
+ '21' => {
+ 'name' => '_offset',
+ 'offset' => '144',
+ 'type' => '118'
+ },
+ '22' => {
+ 'name' => '_codecvt',
+ 'offset' => '152',
+ 'type' => '2822'
+ },
+ '23' => {
+ 'name' => '_wide_data',
+ 'offset' => '160',
+ 'type' => '2833'
+ },
+ '24' => {
+ 'name' => '_freeres_list',
+ 'offset' => '168',
+ 'type' => '2789'
+ },
+ '25' => {
+ 'name' => '_freeres_buf',
+ 'offset' => '176',
+ 'type' => '130'
+ },
+ '26' => {
+ 'name' => '__pad5',
+ 'offset' => '184',
+ 'type' => '150'
+ },
+ '27' => {
+ 'name' => '_mode',
+ 'offset' => '192',
+ 'type' => '87'
+ },
+ '28' => {
+ 'name' => '_unused2',
+ 'offset' => '196',
+ 'type' => '2839'
+ },
+ '3' => {
+ 'name' => '_IO_read_base',
+ 'offset' => '24',
+ 'type' => '132'
+ },
+ '4' => {
+ 'name' => '_IO_write_base',
+ 'offset' => '32',
+ 'type' => '132'
+ },
+ '5' => {
+ 'name' => '_IO_write_ptr',
+ 'offset' => '40',
+ 'type' => '132'
+ },
+ '6' => {
+ 'name' => '_IO_write_end',
+ 'offset' => '48',
+ 'type' => '132'
+ },
+ '7' => {
+ 'name' => '_IO_buf_base',
+ 'offset' => '56',
+ 'type' => '132'
+ },
+ '8' => {
+ 'name' => '_IO_buf_end',
+ 'offset' => '64',
+ 'type' => '132'
+ },
+ '9' => {
+ 'name' => '_IO_save_base',
+ 'offset' => '72',
+ 'type' => '132'
+ }
+ },
+ 'Name' => 'struct _IO_FILE',
+ 'PrivateABI' => 1,
+ 'Size' => '216',
+ 'Source' => undef,
+ 'SourceLine' => '49',
+ 'Type' => 'Struct'
+ },
+ '25201' => {
+ 'BaseType' => '2937',
+ 'Name' => 'OPJ_BOOL*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2758' => {
+ 'BaseType' => '2367',
+ 'Name' => 'FILE',
+ 'Size' => '216',
+ 'Source' => undef,
+ 'SourceLine' => '7',
+ 'Type' => 'Typedef'
+ },
+ '2770' => {
+ 'Name' => '_IO_lock_t',
+ 'Source' => undef,
+ 'SourceLine' => '43',
+ 'Type' => 'Typedef'
+ },
+ '2778' => {
+ 'Name' => 'struct _IO_marker',
+ 'PrivateABI' => 1,
+ 'Type' => 'Struct'
+ },
+ '2783' => {
+ 'BaseType' => '2778',
+ 'Name' => 'struct _IO_marker*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2789' => {
+ 'BaseType' => '2367',
+ 'Name' => 'struct _IO_FILE*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2795' => {
+ 'BaseType' => '138',
+ 'Name' => 'char[1]',
+ 'Size' => '1',
+ 'Type' => 'Array'
+ },
+ '2811' => {
+ 'BaseType' => '2770',
+ 'Name' => '_IO_lock_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2817' => {
+ 'Name' => 'struct _IO_codecvt',
+ 'PrivateABI' => 1,
+ 'Type' => 'Struct'
+ },
+ '2822' => {
+ 'BaseType' => '2817',
+ 'Name' => 'struct _IO_codecvt*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2828' => {
+ 'Name' => 'struct _IO_wide_data',
+ 'PrivateABI' => 1,
+ 'Type' => 'Struct'
+ },
+ '2833' => {
+ 'BaseType' => '2828',
+ 'Name' => 'struct _IO_wide_data*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2839' => {
+ 'BaseType' => '138',
+ 'Name' => 'char[20]',
+ 'Size' => '20',
+ 'Type' => 'Array'
+ },
+ '2867' => {
+ 'BaseType' => '2758',
+ 'Name' => 'FILE*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2937' => {
+ 'BaseType' => '87',
+ 'Name' => 'OPJ_BOOL',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '116',
+ 'Type' => 'Typedef'
+ },
+ '294465' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'OPJ_CODEC_UNKNOWN',
+ 'value' => '18446744073709551615 (-1)'
+ },
+ '1' => {
+ 'name' => 'OPJ_CODEC_J2K',
+ 'value' => '0'
+ },
+ '2' => {
+ 'name' => 'OPJ_CODEC_JPT',
+ 'value' => '1'
+ },
+ '3' => {
+ 'name' => 'OPJ_CODEC_JP2',
+ 'value' => '2'
+ },
+ '4' => {
+ 'name' => 'OPJ_CODEC_JPP',
+ 'value' => '3'
+ },
+ '5' => {
+ 'name' => 'OPJ_CODEC_JPX',
+ 'value' => '4'
+ }
+ },
+ 'Name' => 'enum CODEC_FORMAT',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '328',
+ 'Type' => 'Enum'
+ },
+ '294521' => {
+ 'BaseType' => '294465',
+ 'Name' => 'OPJ_CODEC_FORMAT',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '335',
+ 'Type' => 'Typedef'
+ },
+ '296399' => {
+ 'BaseType' => '130',
+ 'Name' => 'opj_codec_t',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '618',
+ 'Type' => 'Typedef'
+ },
+ '300426' => {
+ 'BaseType' => '127977',
+ 'Name' => 'opj_codestream_index_t**',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '300528' => {
+ 'BaseType' => '296399',
+ 'Name' => 'opj_codec_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '300619' => {
+ 'BaseType' => '130441',
+ 'Name' => 'opj_codestream_info_v2_t**',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '45' => {
+ 'Name' => 'unsigned char',
+ 'Size' => '1',
+ 'Type' => 'Intrinsic'
+ },
+ '52' => {
+ 'Name' => 'unsigned short',
+ 'Size' => '2',
+ 'Type' => 'Intrinsic'
+ },
+ '59' => {
+ 'Name' => 'unsigned int',
+ 'Size' => '4',
+ 'Type' => 'Intrinsic'
+ },
+ '66' => {
+ 'Name' => 'unsigned long',
+ 'Size' => '8',
+ 'Type' => 'Intrinsic'
+ },
+ '73' => {
+ 'Name' => 'signed char',
+ 'Size' => '1',
+ 'Type' => 'Intrinsic'
+ },
+ '8647' => {
+ 'BaseType' => '87',
+ 'Name' => '__int32_t',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '41',
+ 'Type' => 'Typedef'
+ },
+ '8659' => {
+ 'BaseType' => '59',
+ 'Name' => '__uint32_t',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '42',
+ 'Type' => 'Typedef'
+ },
+ '87' => {
+ 'Name' => 'int',
+ 'Size' => '4',
+ 'Type' => 'Intrinsic'
+ },
+ '9335' => {
+ 'BaseType' => '45',
+ 'Name' => 'OPJ_BYTE',
+ 'Size' => '1',
+ 'Source' => undef,
+ 'SourceLine' => '123',
+ 'Type' => 'Typedef'
+ },
+ '9347' => {
+ 'BaseType' => '8647',
+ 'Name' => 'int32_t',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '26',
+ 'Type' => 'Typedef'
+ },
+ '9359' => {
+ 'BaseType' => '8659',
+ 'Name' => 'uint32_t',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '26',
+ 'Type' => 'Typedef'
+ },
+ '9371' => {
+ 'BaseType' => '9347',
+ 'Name' => 'OPJ_INT32',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '131',
+ 'Type' => 'Typedef'
+ },
+ '9383' => {
+ 'BaseType' => '9359',
+ 'Name' => 'OPJ_UINT32',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '132',
+ 'Type' => 'Typedef'
+ },
+ '9395' => {
+ 'BaseType' => '150',
+ 'Name' => 'OPJ_SIZE_T',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '139',
+ 'Type' => 'Typedef'
+ },
+ '9407' => {
+ 'BaseType' => '9335',
+ 'Name' => 'OPJ_BYTE*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '962' => {
+ 'Name' => 'void(*)(void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '130'
+ }
+ },
+ 'Return' => '1',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '99' => {
+ 'Name' => 'long',
+ 'Size' => '8',
+ 'Type' => 'Intrinsic'
+ }
+ },
+ 'UndefinedSymbols' => {
+ 'libopenjp2.so.2.5.0' => {
+ '_ITM_deregisterTMCloneTable' => 0,
+ '_ITM_registerTMCloneTable' => 0,
+ '__assert_fail@GLIBC_2.2.5' => 0,
+ '__cxa_finalize@GLIBC_2.2.5' => 0,
+ '__fprintf_chk@GLIBC_2.3.4' => 0,
+ '__gmon_start__' => 0,
+ '__sprintf_chk@GLIBC_2.3.4' => 0,
+ '__stack_chk_fail@GLIBC_2.4' => 0,
+ '__vsnprintf_chk@GLIBC_2.3.4' => 0,
+ 'calloc@GLIBC_2.2.5' => 0,
+ 'fclose@GLIBC_2.2.5' => 0,
+ 'fopen@GLIBC_2.2.5' => 0,
+ 'fputc@GLIBC_2.2.5' => 0,
+ 'fread@GLIBC_2.2.5' => 0,
+ 'free@GLIBC_2.2.5' => 0,
+ 'fseeko@GLIBC_2.2.5' => 0,
+ 'ftello@GLIBC_2.2.5' => 0,
+ 'fwrite@GLIBC_2.2.5' => 0,
+ 'getenv@GLIBC_2.2.5' => 0,
+ 'getrusage@GLIBC_2.2.5' => 0,
+ 'lrintf@GLIBC_2.2.5' => 0,
+ 'malloc@GLIBC_2.2.5' => 0,
+ 'memcpy@GLIBC_2.14' => 0,
+ 'memmove@GLIBC_2.2.5' => 0,
+ 'memset@GLIBC_2.2.5' => 0,
+ 'posix_memalign@GLIBC_2.2.5' => 0,
+ 'pow@GLIBC_2.29' => 0,
+ 'pthread_attr_init@GLIBC_2.2.5' => 0,
+ 'pthread_attr_setdetachstate@GLIBC_2.2.5' => 0,
+ 'pthread_cond_destroy@GLIBC_2.3.2' => 0,
+ 'pthread_cond_init@GLIBC_2.3.2' => 0,
+ 'pthread_cond_signal@GLIBC_2.3.2' => 0,
+ 'pthread_cond_wait@GLIBC_2.3.2' => 0,
+ 'pthread_create@GLIBC_2.2.5' => 0,
+ 'pthread_join@GLIBC_2.2.5' => 0,
+ 'pthread_mutex_destroy@GLIBC_2.2.5' => 0,
+ 'pthread_mutex_init@GLIBC_2.2.5' => 0,
+ 'pthread_mutex_lock@GLIBC_2.2.5' => 0,
+ 'pthread_mutex_unlock@GLIBC_2.2.5' => 0,
+ 'realloc@GLIBC_2.2.5' => 0,
+ 'sqrt@GLIBC_2.2.5' => 0,
+ 'stdout@GLIBC_2.2.5' => 0,
+ 'strcpy@GLIBC_2.2.5' => 0,
+ 'strtol@GLIBC_2.2.5' => 0,
+ 'sysconf@GLIBC_2.2.5' => 0
+ }
+ },
+ 'WordSize' => '8'
+ };
--- /dev/null
+{
+ "Object": "lib/libopenjp2.so.2.5.0",
+ "Lang": "C",
+ "TotalSymbols": "51",
+ "PublicABI": "1",
+ "Version": "1.7"
+}
\ No newline at end of file
'ABI_DUMPER_VERSION' => '0.99.15',
'ABI_DUMP_VERSION' => '3.2',
'Arch' => 'x86_64',
- 'GccVersion' => '4.8.5',
+ 'GccVersion' => '9.4.0',
'Headers' => {
'openjpeg.h' => 1
},
'libpthread.so.0' => 1
},
'PublicABI' => '1',
- 'Sources' => {
- 'cio.c' => 1,
- 'image.c' => 1,
- 'openjpeg.c' => 1,
- 'thread.c' => 1
- },
+ 'Sources' => {},
'SymbolInfo' => {
- '14418' => {
+ '112596' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'numcmpts',
+ 'type' => '9383'
+ },
+ '1' => {
+ 'name' => 'cmptparms',
+ 'type' => '112858'
+ },
+ '2' => {
+ 'name' => 'clrspc',
+ 'type' => '20065'
+ }
+ },
+ 'Return' => '22911',
+ 'ShortName' => 'opj_image_tile_create',
+ 'Source' => undef,
+ 'SourceLine' => '227'
+ },
+ '114599' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'image',
+ 'type' => '22911'
+ }
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_image_destroy',
+ 'Source' => undef,
+ 'SourceLine' => '1126'
+ },
+ '114781' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'numcmpts',
+ 'type' => '9383'
+ },
+ '1' => {
+ 'name' => 'cmptparms',
+ 'type' => '112858'
+ },
+ '2' => {
+ 'name' => 'clrspc',
+ 'type' => '20065'
+ }
+ },
+ 'Return' => '22911',
+ 'ShortName' => 'opj_image_create',
+ 'Source' => undef,
+ 'SourceLine' => '40'
+ },
+ '115632' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'ptr',
+ 'type' => '130'
+ }
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_image_data_free',
+ 'Source' => undef,
+ 'SourceLine' => '1159'
+ },
+ '115703' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'size',
+ 'type' => '9395'
+ }
+ },
+ 'Return' => '130',
+ 'ShortName' => 'opj_image_data_alloc',
+ 'Source' => undef,
+ 'SourceLine' => '1149'
+ },
+ '15690' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
- 'name' => 'p_buffer_size',
- 'type' => '9055'
+ 'name' => 'p_stream',
+ 'type' => '15773'
},
'1' => {
- 'name' => 'l_is_input',
- 'type' => '2753'
+ 'name' => 'data_length',
+ 'type' => '11737'
}
},
'Reg' => {
'0' => 'rdi',
'1' => 'rsi'
},
- 'Return' => '14570',
- 'ShortName' => 'opj_stream_create',
- 'Source' => 'cio.c',
- 'SourceLine' => '158'
- },
- '14576' => {
- 'Header' => 'openjpeg.h',
- 'Param' => {
- '0' => {
- 'name' => 'l_is_input',
- 'type' => '2753'
- }
- },
- 'Reg' => {
- '0' => 'rdi'
- },
- 'Return' => '14570',
- 'ShortName' => 'opj_stream_default_create',
- 'Source' => 'cio.c',
- 'SourceLine' => '194'
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_user_data_length',
+ 'Source' => undef,
+ 'SourceLine' => '1244'
},
- '14653' => {
+ '15779' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_stream',
- 'type' => '14570'
+ 'type' => '15773'
+ },
+ '1' => {
+ 'name' => 'p_data',
+ 'type' => '130'
+ },
+ '2' => {
+ 'name' => 'p_function',
+ 'type' => '11943'
}
},
'Reg' => {
- '0' => 'rdi'
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
},
'Return' => '1',
- 'ShortName' => 'opj_stream_destroy',
- 'Source' => 'cio.c',
- 'SourceLine' => '199'
+ 'ShortName' => 'opj_stream_set_user_data',
+ 'Source' => undef,
+ 'SourceLine' => '1235'
},
- '14746' => {
+ '15877' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_stream',
- 'type' => '14570'
+ 'type' => '15773'
},
'1' => {
'name' => 'p_function',
- 'type' => '11274'
+ 'type' => '11865'
}
},
'Reg' => {
'1' => 'rsi'
},
'Return' => '1',
- 'ShortName' => 'opj_stream_set_read_function',
- 'Source' => 'cio.c',
- 'SourceLine' => '213'
+ 'ShortName' => 'opj_stream_set_skip_function',
+ 'Source' => undef,
+ 'SourceLine' => '1217'
},
- '14815' => {
+ '15956' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_stream',
- 'type' => '14570'
+ 'type' => '15773'
},
'1' => {
'name' => 'p_function',
- 'type' => '11367'
+ 'type' => '11852'
}
},
'Reg' => {
'1' => 'rsi'
},
'Return' => '1',
- 'ShortName' => 'opj_stream_set_seek_function',
- 'Source' => 'cio.c',
- 'SourceLine' => '225'
+ 'ShortName' => 'opj_stream_set_write_function',
+ 'Source' => undef,
+ 'SourceLine' => '1209'
},
- '14884' => {
+ '16035' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_stream',
- 'type' => '14570'
+ 'type' => '15773'
},
'1' => {
'name' => 'p_function',
- 'type' => '11317'
+ 'type' => '11904'
}
},
'Reg' => {
'1' => 'rsi'
},
'Return' => '1',
- 'ShortName' => 'opj_stream_set_write_function',
- 'Source' => 'cio.c',
- 'SourceLine' => '236'
+ 'ShortName' => 'opj_stream_set_seek_function',
+ 'Source' => undef,
+ 'SourceLine' => '1226'
},
- '14953' => {
+ '16114' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_stream',
- 'type' => '14570'
+ 'type' => '15773'
},
'1' => {
'name' => 'p_function',
- 'type' => '11329'
+ 'type' => '11808'
}
},
'Reg' => {
'1' => 'rsi'
},
'Return' => '1',
- 'ShortName' => 'opj_stream_set_skip_function',
- 'Source' => 'cio.c',
- 'SourceLine' => '248'
+ 'ShortName' => 'opj_stream_set_read_function',
+ 'Source' => undef,
+ 'SourceLine' => '1201'
},
- '15022' => {
+ '16193' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_stream',
- 'type' => '14570'
- },
- '1' => {
- 'name' => 'p_data',
- 'type' => '130'
- },
- '2' => {
- 'name' => 'p_function',
- 'type' => '11405'
+ 'type' => '15773'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx'
- },
'Return' => '1',
- 'ShortName' => 'opj_stream_set_user_data',
- 'Source' => 'cio.c',
- 'SourceLine' => '260'
+ 'ShortName' => 'opj_stream_destroy',
+ 'Source' => undef,
+ 'SourceLine' => '199'
},
- '15109' => {
+ '16297' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
- 'name' => 'p_stream',
- 'type' => '14570'
+ 'name' => 'l_is_input',
+ 'type' => '2937'
+ }
+ },
+ 'Return' => '15773',
+ 'ShortName' => 'opj_stream_default_create',
+ 'Source' => undef,
+ 'SourceLine' => '194'
+ },
+ '16380' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_buffer_size',
+ 'type' => '9395'
},
'1' => {
- 'name' => 'data_length',
- 'type' => '11207'
+ 'name' => 'l_is_input',
+ 'type' => '2937'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi'
- },
- 'Return' => '1',
- 'ShortName' => 'opj_stream_set_user_data_length',
- 'Source' => 'cio.c',
- 'SourceLine' => '271'
+ 'Return' => '15773',
+ 'ShortName' => 'opj_stream_create',
+ 'Source' => undef,
+ 'SourceLine' => '1185'
},
- '183613' => {
- 'Header' => 'openjpeg.h',
- 'Line' => '1096',
- 'Return' => '156',
- 'ShortName' => 'opj_version',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '171'
- },
- '183933' => {
+ '236200' => {
'Header' => 'openjpeg.h',
- 'Line' => '1650',
'Param' => {
'0' => {
'name' => 'cstr_info',
- 'type' => '183951'
+ 'type' => '300619'
}
},
- 'Reg' => {
- '0' => 'rdi'
- },
'Return' => '1',
'ShortName' => 'opj_destroy_cstr_info',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '1014'
+ 'Source' => undef,
+ 'SourceLine' => '1041'
+ },
+ '236475' => {
+ 'Header' => 'openjpeg.h',
+ 'Return' => '162',
+ 'ShortName' => 'opj_version',
+ 'Source' => undef,
+ 'SourceLine' => '171'
},
- '247683' => {
+ '299777' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
- 'name' => 'p_codec',
- 'type' => '247769'
+ 'name' => 'fname',
+ 'type' => '162'
},
'1' => {
- 'name' => 'p_callback',
- 'type' => '11240'
+ 'name' => 'p_size',
+ 'type' => '9395'
},
'2' => {
- 'name' => 'p_user_data',
- 'type' => '130'
+ 'name' => 'p_is_read_stream',
+ 'type' => '2937'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_set_info_handler',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '44'
+ 'Return' => '15773',
+ 'ShortName' => 'opj_stream_create_file_stream',
+ 'Source' => undef,
+ 'SourceLine' => '1084'
},
- '247781' => {
+ '300247' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
- 'name' => 'p_codec',
- 'type' => '247769'
+ 'name' => 'fname',
+ 'type' => '162'
},
'1' => {
- 'name' => 'p_callback',
- 'type' => '11240'
- },
- '2' => {
- 'name' => 'p_user_data',
- 'type' => '130'
+ 'name' => 'p_is_read_stream',
+ 'type' => '2937'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_set_warning_handler',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '59'
+ 'Return' => '15773',
+ 'ShortName' => 'opj_stream_create_default_file_stream',
+ 'Source' => undef,
+ 'SourceLine' => '1077'
},
- '247867' => {
+ '300360' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
- 'name' => 'p_codec',
- 'type' => '247769'
- },
- '1' => {
- 'name' => 'p_callback',
- 'type' => '11240'
- },
- '2' => {
- 'name' => 'p_user_data',
- 'type' => '130'
+ 'name' => 'p_cstr_index',
+ 'type' => '300426'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_set_error_handler',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '74'
+ 'Return' => '1',
+ 'ShortName' => 'opj_destroy_cstr_index',
+ 'Source' => undef,
+ 'SourceLine' => '1069'
},
- '247982' => {
+ '300432' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
- 'name' => 'p_format',
- 'type' => '236507'
+ 'name' => 'p_codec',
+ 'type' => '300528'
}
},
- 'Reg' => {
- '0' => 'rdi'
- },
- 'Return' => '247769',
- 'ShortName' => 'opj_create_decompress',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '179'
+ 'Return' => '127977',
+ 'ShortName' => 'opj_get_cstr_index',
+ 'Source' => undef,
+ 'SourceLine' => '1058'
},
- '248204' => {
+ '300625' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
- 'name' => 'parameters',
- 'type' => '85814'
+ 'name' => 'p_codec',
+ 'type' => '300528'
}
},
- 'Reg' => {
- '0' => 'rdi'
- },
- 'Return' => '1',
- 'ShortName' => 'opj_set_default_decoder_parameters',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '375'
+ 'Return' => '130441',
+ 'ShortName' => 'opj_get_cstr_info',
+ 'Source' => undef,
+ 'SourceLine' => '1030'
},
- '248335' => {
+ '300721' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '247769'
+ 'type' => '300528'
},
'1' => {
- 'name' => 'num_threads',
- 'type' => '87'
+ 'name' => 'info_flag',
+ 'type' => '9371'
+ },
+ '2' => {
+ 'name' => 'output_stream',
+ 'type' => '2867'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_codec_set_threads',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '398'
+ 'Return' => '1',
+ 'ShortName' => 'opj_dump_codec',
+ 'Source' => undef,
+ 'SourceLine' => '1014'
},
- '248453' => {
+ '300879' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '247769'
- },
- '1' => {
- 'name' => 'parameters',
- 'type' => '85814'
+ 'type' => '300528'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_setup_decoder',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '409'
+ 'Return' => '1',
+ 'ShortName' => 'opj_destroy_codec',
+ 'Source' => undef,
+ 'SourceLine' => '996'
},
- '248595' => {
+ '300979' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
- 'name' => 'p_stream',
- 'type' => '14570'
+ 'name' => 'p_codec',
+ 'type' => '300528'
},
'1' => {
- 'name' => 'p_codec',
- 'type' => '247769'
+ 'name' => 'p_tile_index',
+ 'type' => '9383'
},
'2' => {
- 'name' => 'p_image',
- 'type' => '85808'
+ 'name' => 'p_data',
+ 'type' => '9407'
+ },
+ '3' => {
+ 'name' => 'p_data_size',
+ 'type' => '9383'
+ },
+ '4' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_read_header',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '429'
+ 'Return' => '2937',
+ 'ShortName' => 'opj_write_tile',
+ 'Source' => undef,
+ 'SourceLine' => '969'
},
- '248798' => {
+ '301215' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
- 'name' => 'p_codec',
- 'type' => '247769'
+ 'name' => 'parameters',
+ 'type' => '130429'
},
'1' => {
- 'name' => 'numcomps',
- 'type' => '9044'
+ 'name' => 'pEncodingMatrix',
+ 'type' => '12409'
},
'2' => {
- 'name' => 'comps_indices',
- 'type' => '85826'
+ 'name' => 'p_dc_shift',
+ 'type' => '20829'
},
'3' => {
- 'name' => 'apply_color_transforms',
- 'type' => '2753'
+ 'name' => 'pNbComp',
+ 'type' => '9383'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx',
- '3' => 'rcx'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_set_decoded_components',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '453'
+ 'Return' => '2937',
+ 'ShortName' => 'opj_set_MCT',
+ 'Source' => undef,
+ 'SourceLine' => '939'
},
- '249040' => {
+ '301641' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '247769'
+ 'type' => '300528'
},
'1' => {
'name' => 'p_stream',
- 'type' => '14570'
- },
- '2' => {
- 'name' => 'p_image',
- 'type' => '21106'
+ 'type' => '15773'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_decode',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '482'
+ 'Return' => '2937',
+ 'ShortName' => 'opj_end_decompress',
+ 'Source' => undef,
+ 'SourceLine' => '919'
},
- '249194' => {
+ '301793' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '247769'
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_end_compress',
+ 'Source' => undef,
+ 'SourceLine' => '902'
+ },
+ '301938' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_info',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_encode',
+ 'Source' => undef,
+ 'SourceLine' => '885'
+ },
+ '302083' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
},
'1' => {
'name' => 'p_image',
- 'type' => '21106'
+ 'type' => '22911'
},
'2' => {
- 'name' => 'p_start_x',
- 'type' => '9033'
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_start_compress',
+ 'Source' => undef,
+ 'SourceLine' => '866'
+ },
+ '302256' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'options',
+ 'type' => '130435'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_encoder_set_extra_options',
+ 'Source' => undef,
+ 'SourceLine' => '847'
+ },
+ '302380' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'parameters',
+ 'type' => '130429'
+ },
+ '2' => {
+ 'name' => 'p_image',
+ 'type' => '22911'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_setup_encoder',
+ 'Source' => undef,
+ 'SourceLine' => '827'
+ },
+ '302525' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'parameters',
+ 'type' => '130429'
+ }
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_set_default_encoder_parameters',
+ 'Source' => undef,
+ 'SourceLine' => '766'
+ },
+ '302684' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_format',
+ 'type' => '294521'
+ }
+ },
+ 'Return' => '300528',
+ 'ShortName' => 'opj_create_compress',
+ 'Source' => undef,
+ 'SourceLine' => '652'
+ },
+ '302920' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'res_factor',
+ 'type' => '9383'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_set_decoded_resolution_factor',
+ 'Source' => undef,
+ 'SourceLine' => '634'
+ },
+ '303045' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ },
+ '2' => {
+ 'name' => 'p_image',
+ 'type' => '22911'
},
'3' => {
- 'name' => 'p_start_y',
- 'type' => '9033'
+ 'name' => 'tile_index',
+ 'type' => '9383'
+ }
+ },
+ 'Return' => '2937',
+ 'ShortName' => 'opj_get_decoded_tile',
+ 'Source' => undef,
+ 'SourceLine' => '610'
+ },
+ '303253' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
},
- '4' => {
- 'name' => 'p_end_x',
- 'type' => '9033'
+ '1' => {
+ 'name' => 'p_tile_index',
+ 'type' => '9383'
},
- '5' => {
- 'name' => 'p_end_y',
- 'type' => '9033'
+ '2' => {
+ 'name' => 'p_data',
+ 'type' => '9407'
+ },
+ '3' => {
+ 'name' => 'p_data_size',
+ 'type' => '9383'
+ },
+ '4' => {
+ 'name' => 'p_stream',
+ 'type' => '15773'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx',
- '3' => 'rcx',
- '4' => 'r8',
- '5' => 'r9'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_set_decode_area',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '503'
+ 'Return' => '2937',
+ 'ShortName' => 'opj_decode_tile_data',
+ 'Source' => undef,
+ 'SourceLine' => '584'
},
- '249402' => {
+ '303489' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '247769'
+ 'type' => '300528'
},
'1' => {
'name' => 'p_stream',
- 'type' => '14570'
+ 'type' => '15773'
},
'2' => {
'name' => 'p_tile_index',
- 'type' => '11838'
+ 'type' => '12415'
},
'3' => {
'name' => 'p_data_size',
- 'type' => '11838'
+ 'type' => '12415'
},
'4' => {
'name' => 'p_tile_x0',
- 'type' => '19167'
+ 'type' => '20829'
},
'5' => {
'name' => 'p_tile_y0',
- 'type' => '19167'
+ 'type' => '20829'
},
'6' => {
'name' => 'p_tile_x1',
'offset' => '0',
- 'type' => '19167'
+ 'type' => '20829'
},
'7' => {
'name' => 'p_tile_y1',
'offset' => '8',
- 'type' => '19167'
+ 'type' => '20829'
},
'8' => {
'name' => 'p_nb_comps',
'offset' => '16',
- 'type' => '11838'
+ 'type' => '12415'
},
'9' => {
'name' => 'p_should_go_on',
'offset' => '24',
- 'type' => '23206'
+ 'type' => '25201'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx',
- '3' => 'rcx',
- '4' => 'r8',
- '5' => 'r9'
- },
- 'Return' => '2753',
+ 'Return' => '2937',
'ShortName' => 'opj_read_tile_header',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '526'
+ 'Source' => undef,
+ 'SourceLine' => '553'
},
- '249717' => {
+ '303808' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '247769'
+ 'type' => '300528'
},
'1' => {
- 'name' => 'p_tile_index',
- 'type' => '9044'
+ 'name' => 'p_image',
+ 'type' => '22911'
},
'2' => {
- 'name' => 'p_data',
- 'type' => '9066'
+ 'name' => 'p_start_x',
+ 'type' => '9371'
},
'3' => {
- 'name' => 'p_data_size',
- 'type' => '9044'
+ 'name' => 'p_start_y',
+ 'type' => '9371'
},
'4' => {
- 'name' => 'p_stream',
- 'type' => '14570'
+ 'name' => 'p_end_x',
+ 'type' => '9371'
+ },
+ '5' => {
+ 'name' => 'p_end_y',
+ 'type' => '9371'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx',
- '3' => 'rcx',
- '4' => 'r8'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_decode_tile_data',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '557'
+ 'Return' => '2937',
+ 'ShortName' => 'opj_set_decode_area',
+ 'Source' => undef,
+ 'SourceLine' => '530'
},
- '249917' => {
+ '304042' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '247769'
+ 'type' => '300528'
},
'1' => {
'name' => 'p_stream',
- 'type' => '14570'
+ 'type' => '15773'
},
'2' => {
'name' => 'p_image',
- 'type' => '21106'
- },
- '3' => {
- 'name' => 'tile_index',
- 'type' => '9044'
+ 'type' => '22911'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx',
- '3' => 'rcx'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_get_decoded_tile',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '583'
+ 'Return' => '2937',
+ 'ShortName' => 'opj_decode',
+ 'Source' => undef,
+ 'SourceLine' => '509'
},
- '250094' => {
+ '304222' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '247769'
+ 'type' => '300528'
},
'1' => {
- 'name' => 'res_factor',
- 'type' => '9044'
+ 'name' => 'numcomps',
+ 'type' => '9383'
+ },
+ '2' => {
+ 'name' => 'comps_indices',
+ 'type' => '130423'
+ },
+ '3' => {
+ 'name' => 'apply_color_transforms',
+ 'type' => '2937'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_set_decoded_resolution_factor',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '607'
+ 'Return' => '2937',
+ 'ShortName' => 'opj_set_decoded_components',
+ 'Source' => undef,
+ 'SourceLine' => '480'
},
- '250203' => {
+ '304492' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
- 'name' => 'p_format',
- 'type' => '236507'
+ 'name' => 'p_stream',
+ 'type' => '15773'
+ },
+ '1' => {
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '2' => {
+ 'name' => 'p_image',
+ 'type' => '130405'
}
},
- 'Reg' => {
- '0' => 'rdi'
- },
- 'Return' => '247769',
- 'ShortName' => 'opj_create_compress',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '625'
+ 'Return' => '2937',
+ 'ShortName' => 'opj_read_header',
+ 'Source' => undef,
+ 'SourceLine' => '456'
},
- '250428' => {
+ '304729' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
- 'name' => 'parameters',
- 'type' => '85837'
+ 'name' => 'p_codec',
+ 'type' => '300528'
+ },
+ '1' => {
+ 'name' => 'strict',
+ 'type' => '2937'
}
},
- 'Reg' => {
- '0' => 'rdi'
- },
- 'Return' => '1',
- 'ShortName' => 'opj_set_default_encoder_parameters',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '739'
+ 'Return' => '2937',
+ 'ShortName' => 'opj_decoder_set_strict_mode',
+ 'Source' => undef,
+ 'SourceLine' => '436'
},
- '250559' => {
+ '304896' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '247769'
+ 'type' => '300528'
},
'1' => {
'name' => 'parameters',
- 'type' => '85837'
- },
- '2' => {
- 'name' => 'p_image',
- 'type' => '21106'
+ 'type' => '130411'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_setup_encoder',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '800'
+ 'Return' => '2937',
+ 'ShortName' => 'opj_setup_decoder',
+ 'Source' => undef,
+ 'SourceLine' => '416'
},
- '250697' => {
+ '305075' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '247769'
+ 'type' => '300528'
},
'1' => {
- 'name' => 'options',
- 'type' => '85843'
+ 'name' => 'num_threads',
+ 'type' => '87'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_encoder_set_extra_options',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '820'
+ 'Return' => '2937',
+ 'ShortName' => 'opj_codec_set_threads',
+ 'Source' => undef,
+ 'SourceLine' => '405'
},
- '250812' => {
+ '305192' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
- 'name' => 'p_codec',
- 'type' => '247769'
- },
- '1' => {
- 'name' => 'p_image',
- 'type' => '21106'
- },
- '2' => {
- 'name' => 'p_stream',
- 'type' => '14570'
+ 'name' => 'parameters',
+ 'type' => '130411'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_start_compress',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '839'
+ 'Return' => '1',
+ 'ShortName' => 'opj_set_default_decoder_parameters',
+ 'Source' => undef,
+ 'SourceLine' => '382'
},
- '250966' => {
+ '305351' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
- 'name' => 'p_info',
- 'type' => '247769'
- },
- '1' => {
- 'name' => 'p_stream',
- 'type' => '14570'
+ 'name' => 'p_format',
+ 'type' => '294521'
}
},
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_encode',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '858'
+ 'Return' => '300528',
+ 'ShortName' => 'opj_create_decompress',
+ 'Source' => undef,
+ 'SourceLine' => '179'
},
- '251097' => {
+ '306560' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '247769'
+ 'type' => '300528'
},
'1' => {
- 'name' => 'p_stream',
- 'type' => '14570'
+ 'name' => 'p_callback',
+ 'type' => '11773'
+ },
+ '2' => {
+ 'name' => 'p_user_data',
+ 'type' => '130'
}
},
'Reg' => {
'0' => 'rdi',
- '1' => 'rsi'
+ '1' => 'rsi',
+ '2' => 'rdx'
},
- 'Return' => '2753',
- 'ShortName' => 'opj_end_compress',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '875'
+ 'Return' => '2937',
+ 'ShortName' => 'opj_set_error_handler',
+ 'Source' => undef,
+ 'SourceLine' => '74'
},
- '251228' => {
+ '306657' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '247769'
+ 'type' => '300528'
},
'1' => {
- 'name' => 'p_stream',
- 'type' => '14570'
+ 'name' => 'p_callback',
+ 'type' => '11773'
+ },
+ '2' => {
+ 'name' => 'p_user_data',
+ 'type' => '130'
}
},
'Reg' => {
'0' => 'rdi',
- '1' => 'rsi'
+ '1' => 'rsi',
+ '2' => 'rdx'
},
- 'Return' => '2753',
- 'ShortName' => 'opj_end_decompress',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '892'
+ 'Return' => '2937',
+ 'ShortName' => 'opj_set_warning_handler',
+ 'Source' => undef,
+ 'SourceLine' => '59'
},
- '251359' => {
+ '306754' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
- 'name' => 'parameters',
- 'type' => '85837'
+ 'name' => 'p_codec',
+ 'type' => '300528'
},
'1' => {
- 'name' => 'pEncodingMatrix',
- 'type' => '11832'
+ 'name' => 'p_callback',
+ 'type' => '11773'
},
'2' => {
- 'name' => 'p_dc_shift',
- 'type' => '19167'
- },
- '3' => {
- 'name' => 'pNbComp',
- 'type' => '9044'
- }
- },
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx',
- '3' => 'rcx'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_set_MCT',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '912'
- },
- '251705' => {
- 'Header' => 'openjpeg.h',
- 'Param' => {
- '0' => {
- 'name' => 'p_codec',
- 'type' => '247769'
- },
- '1' => {
- 'name' => 'p_tile_index',
- 'type' => '9044'
- },
- '2' => {
- 'name' => 'p_data',
- 'type' => '9066'
- },
- '3' => {
- 'name' => 'p_data_size',
- 'type' => '9044'
- },
- '4' => {
- 'name' => 'p_stream',
- 'type' => '14570'
- }
- },
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx',
- '3' => 'rcx',
- '4' => 'r8'
- },
- 'Return' => '2753',
- 'ShortName' => 'opj_write_tile',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '942'
- },
- '251905' => {
- 'Header' => 'openjpeg.h',
- 'Param' => {
- '0' => {
- 'name' => 'p_codec',
- 'type' => '247769'
- }
- },
- 'Reg' => {
- '0' => 'rdi'
- },
- 'Return' => '1',
- 'ShortName' => 'opj_destroy_codec',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '969'
- },
- '252006' => {
- 'Header' => 'openjpeg.h',
- 'Param' => {
- '0' => {
- 'name' => 'p_codec',
- 'type' => '247769'
- },
- '1' => {
- 'name' => 'info_flag',
- 'type' => '9033'
- },
- '2' => {
- 'name' => 'output_stream',
- 'type' => '85854'
- }
- },
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx'
- },
- 'Return' => '1',
- 'ShortName' => 'opj_dump_codec',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '987'
- },
- '252143' => {
- 'Header' => 'openjpeg.h',
- 'Param' => {
- '0' => {
- 'name' => 'p_codec',
- 'type' => '247769'
- }
- },
- 'Reg' => {
- '0' => 'rdi'
- },
- 'Return' => '85860',
- 'ShortName' => 'opj_get_cstr_info',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '1003'
- },
- '252307' => {
- 'Header' => 'openjpeg.h',
- 'Param' => {
- '0' => {
- 'name' => 'p_codec',
- 'type' => '247769'
- }
- },
- 'Reg' => {
- '0' => 'rdi'
- },
- 'Return' => '83562',
- 'ShortName' => 'opj_get_cstr_index',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '1031'
- },
- '252392' => {
- 'Header' => 'openjpeg.h',
- 'Param' => {
- '0' => {
- 'name' => 'p_cstr_index',
- 'type' => '252452'
- }
- },
- 'Reg' => {
- '0' => 'rdi'
- },
- 'Return' => '1',
- 'ShortName' => 'opj_destroy_cstr_index',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '1042'
- },
- '252458' => {
- 'Header' => 'openjpeg.h',
- 'Param' => {
- '0' => {
- 'name' => 'fname',
- 'type' => '156'
- },
- '1' => {
- 'name' => 'p_size',
- 'type' => '9055'
- },
- '2' => {
- 'name' => 'p_is_read_stream',
- 'type' => '2753'
+ 'name' => 'p_user_data',
+ 'type' => '130'
}
},
'Reg' => {
'1' => 'rsi',
'2' => 'rdx'
},
- 'Return' => '14570',
- 'ShortName' => 'opj_stream_create_file_stream',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '1057'
- },
- '252891' => {
- 'Header' => 'openjpeg.h',
- 'Param' => {
- '0' => {
- 'name' => 'fname',
- 'type' => '156'
- },
- '1' => {
- 'name' => 'p_is_read_stream',
- 'type' => '2753'
- }
- },
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi'
- },
- 'Return' => '14570',
- 'ShortName' => 'opj_stream_create_default_file_stream',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '1050'
+ 'Return' => '2937',
+ 'ShortName' => 'opj_set_info_handler',
+ 'Source' => undef,
+ 'SourceLine' => '44'
},
- '3814' => {
- 'Header' => 'openjpeg.h',
- 'Return' => '2753',
- 'ShortName' => 'opj_has_thread_support',
- 'Source' => 'thread.c',
- 'SourceLine' => '295'
- },
- '3844' => {
+ '8203' => {
'Header' => 'openjpeg.h',
'Return' => '87',
'ShortName' => 'opj_get_num_cpus',
- 'Source' => 'thread.c',
- 'SourceLine' => '300'
+ 'Source' => undef,
+ 'SourceLine' => '1770'
},
- '70002' => {
- 'Header' => 'openjpeg.h',
- 'Param' => {
- '0' => {
- 'name' => 'image',
- 'type' => '21106'
- }
- },
- 'Reg' => {
- '0' => 'rdi'
- },
- 'Return' => '1',
- 'ShortName' => 'opj_image_destroy',
- 'Source' => 'image.c',
- 'SourceLine' => '92'
- },
- '70168' => {
- 'Header' => 'openjpeg.h',
- 'Param' => {
- '0' => {
- 'name' => 'numcmpts',
- 'type' => '9044'
- },
- '1' => {
- 'name' => 'cmptparms',
- 'type' => '70518'
- },
- '2' => {
- 'name' => 'clrspc',
- 'type' => '18456'
- }
- },
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx'
- },
- 'Return' => '21106',
- 'ShortName' => 'opj_image_create',
- 'Source' => 'image.c',
- 'SourceLine' => '40'
- },
- '72160' => {
- 'Header' => 'openjpeg.h',
- 'Param' => {
- '0' => {
- 'name' => 'numcmpts',
- 'type' => '9044'
- },
- '1' => {
- 'name' => 'cmptparms',
- 'type' => '70518'
- },
- '2' => {
- 'name' => 'clrspc',
- 'type' => '18456'
- }
- },
- 'Reg' => {
- '0' => 'rdi',
- '1' => 'rsi',
- '2' => 'rdx'
- },
- 'Return' => '21106',
- 'ShortName' => 'opj_image_tile_create',
- 'Source' => 'image.c',
- 'SourceLine' => '228'
- },
- '72439' => {
- 'Header' => 'openjpeg.h',
- 'Line' => '1153',
- 'Param' => {
- '0' => {
- 'name' => 'ptr',
- 'type' => '130'
- }
- },
- 'Reg' => {
- '0' => 'rdi'
- },
- 'Return' => '1',
- 'ShortName' => 'opj_image_data_free',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '1108'
- },
- '72503' => {
- 'Header' => 'openjpeg.h',
- 'Line' => '1143',
- 'Param' => {
- '0' => {
- 'name' => 'size',
- 'type' => '9055'
- }
- },
- 'Reg' => {
- '0' => 'rdi'
- },
- 'Return' => '130',
- 'ShortName' => 'opj_image_data_alloc',
- 'Source' => 'openjpeg.c',
- 'SourceLine' => '1101'
- }
+ '8259' => {
+ 'Header' => 'openjpeg.h',
+ 'Return' => '2937',
+ 'ShortName' => 'opj_has_thread_support',
+ 'Source' => undef,
+ 'SourceLine' => '1767'
+ }
},
'SymbolVersion' => {
'_ITM_deregisterTMCloneTable' => 'sysconf@@GLIBC_2.2.5',
'_ITM_registerTMCloneTable' => 'sysconf@@GLIBC_2.2.5',
- '_Jv_RegisterClasses' => 'sysconf@@GLIBC_2.2.5',
'__gmon_start__' => 'sysconf@@GLIBC_2.2.5'
},
'Symbols' => {
'libopenjp2.so.2.5.0' => {
- '_fini' => 1,
- '_init' => 1,
'opj_codec_set_threads' => 1,
'opj_create_compress' => 1,
'opj_create_decompress' => 1,
'opj_decode' => 1,
'opj_decode_tile_data' => 1,
+ 'opj_decoder_set_strict_mode' => 1,
'opj_destroy_codec' => 1,
'opj_destroy_cstr_index' => 1,
'opj_destroy_cstr_info' => 1,
'Name' => 'void',
'Type' => 'Intrinsic'
},
- '101' => {
- 'BaseType' => '94',
- 'Header' => 'types.h',
- 'Line' => '131',
+ '106' => {
+ 'BaseType' => '99',
'Name' => '__off_t',
'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '152',
'Type' => 'Typedef'
},
- '11108' => {
- 'BaseType' => '2252',
- 'Header' => 'openjpeg.h',
- 'Line' => '115',
+ '10949' => {
+ 'BaseType' => '99',
+ 'Name' => '__int64_t',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '44',
+ 'Type' => 'Typedef'
+ },
+ '10961' => {
+ 'BaseType' => '66',
+ 'Name' => '__uint64_t',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '45',
+ 'Type' => 'Typedef'
+ },
+ '110607' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'dx',
+ 'offset' => '0',
+ 'type' => '9383'
+ },
+ '1' => {
+ 'name' => 'dy',
+ 'offset' => '4',
+ 'type' => '9383'
+ },
+ '2' => {
+ 'name' => 'w',
+ 'offset' => '8',
+ 'type' => '9383'
+ },
+ '3' => {
+ 'name' => 'h',
+ 'offset' => '12',
+ 'type' => '9383'
+ },
+ '4' => {
+ 'name' => 'x0',
+ 'offset' => '16',
+ 'type' => '9383'
+ },
+ '5' => {
+ 'name' => 'y0',
+ 'offset' => '20',
+ 'type' => '9383'
+ },
+ '6' => {
+ 'name' => 'prec',
+ 'offset' => '24',
+ 'type' => '9383'
+ },
+ '7' => {
+ 'name' => 'bpp',
+ 'offset' => '28',
+ 'type' => '9383'
+ },
+ '8' => {
+ 'name' => 'sgnd',
+ 'offset' => '32',
+ 'type' => '9383'
+ }
+ },
+ 'Name' => 'struct opj_image_comptparm',
+ 'Size' => '36',
+ 'Source' => undef,
+ 'SourceLine' => '734',
+ 'Type' => 'Struct'
+ },
+ '110740' => {
+ 'BaseType' => '110607',
+ 'Name' => 'opj_image_cmptparm_t',
+ 'Size' => '36',
+ 'Source' => undef,
+ 'SourceLine' => '753',
+ 'Type' => 'Typedef'
+ },
+ '112858' => {
+ 'BaseType' => '110740',
+ 'Name' => 'opj_image_cmptparm_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '11648' => {
+ 'BaseType' => '2340',
'Name' => 'OPJ_FLOAT32',
'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '121',
'Type' => 'Typedef'
},
- '11152' => {
- 'BaseType' => '94',
- 'Header' => 'stdint.h',
- 'Line' => '40',
+ '11689' => {
+ 'BaseType' => '10949',
'Name' => 'int64_t',
'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '27',
'Type' => 'Typedef'
},
- '11174' => {
- 'BaseType' => '66',
- 'Header' => 'stdint.h',
- 'Line' => '55',
+ '11713' => {
+ 'BaseType' => '10961',
'Name' => 'uint64_t',
'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '27',
'Type' => 'Typedef'
},
- '112' => {
- 'BaseType' => '94',
- 'Header' => 'types.h',
- 'Line' => '132',
- 'Name' => '__off64_t',
- 'Size' => '8',
- 'Type' => 'Typedef'
- },
- '11207' => {
- 'BaseType' => '11174',
- 'Header' => 'openjpeg.h',
- 'Line' => '128',
+ '11737' => {
+ 'BaseType' => '11713',
'Name' => 'OPJ_UINT64',
'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '134',
'Type' => 'Typedef'
},
- '11218' => {
- 'BaseType' => '11152',
- 'Header' => 'openjpeg.h',
- 'Line' => '130',
+ '11749' => {
+ 'BaseType' => '11689',
'Name' => 'OPJ_OFF_T',
'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '136',
'Type' => 'Typedef'
},
- '11240' => {
- 'BaseType' => '11252',
- 'Header' => 'openjpeg.h',
- 'Line' => '343',
+ '11773' => {
+ 'BaseType' => '11786',
'Name' => 'opj_msg_callback',
'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '349',
'Type' => 'Typedef'
},
- '11252' => {
+ '11786' => {
'Name' => 'void(*)(char const*, void*)',
'Param' => {
'0' => {
- 'type' => '156'
+ 'type' => '162'
},
'1' => {
'type' => '130'
'Size' => '8',
'Type' => 'FuncPtr'
},
- '11274' => {
- 'BaseType' => '11286',
- 'Header' => 'openjpeg.h',
- 'Line' => '631',
+ '118' => {
+ 'BaseType' => '99',
+ 'Name' => '__off64_t',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '153',
+ 'Type' => 'Typedef'
+ },
+ '11808' => {
+ 'BaseType' => '11821',
'Name' => 'opj_stream_read_fn',
'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '637',
'Type' => 'Typedef'
},
- '11286' => {
+ '11821' => {
'Name' => 'OPJ_SIZE_T(*)(void*, OPJ_SIZE_T, void*)',
'Param' => {
'0' => {
'type' => '130'
},
'1' => {
- 'type' => '9055'
+ 'type' => '9395'
},
'2' => {
'type' => '130'
}
},
- 'Return' => '9055',
+ 'Return' => '9395',
'Size' => '8',
'Type' => 'FuncPtr'
},
- '11317' => {
- 'BaseType' => '11286',
- 'Header' => 'openjpeg.h',
- 'Line' => '637',
+ '11852' => {
+ 'BaseType' => '11821',
'Name' => 'opj_stream_write_fn',
'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '643',
'Type' => 'Typedef'
},
- '11329' => {
- 'BaseType' => '11341',
- 'Header' => 'openjpeg.h',
- 'Line' => '643',
+ '11865' => {
+ 'BaseType' => '11878',
'Name' => 'opj_stream_skip_fn',
'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '649',
'Type' => 'Typedef'
},
- '11341' => {
+ '11878' => {
'Name' => 'OPJ_OFF_T(*)(OPJ_OFF_T, void*)',
'Param' => {
'0' => {
- 'type' => '11218'
+ 'type' => '11749'
},
'1' => {
'type' => '130'
}
},
- 'Return' => '11218',
+ 'Return' => '11749',
'Size' => '8',
'Type' => 'FuncPtr'
},
- '11367' => {
- 'BaseType' => '11379',
- 'Header' => 'openjpeg.h',
- 'Line' => '649',
+ '11904' => {
+ 'BaseType' => '11917',
'Name' => 'opj_stream_seek_fn',
'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '655',
'Type' => 'Typedef'
},
- '11379' => {
+ '11917' => {
'Name' => 'OPJ_BOOL(*)(OPJ_OFF_T, void*)',
'Param' => {
'0' => {
- 'type' => '11218'
+ 'type' => '11749'
},
'1' => {
'type' => '130'
}
},
- 'Return' => '2753',
+ 'Return' => '2937',
'Size' => '8',
'Type' => 'FuncPtr'
},
- '11405' => {
- 'BaseType' => '797',
- 'Header' => 'openjpeg.h',
- 'Line' => '655',
+ '11943' => {
+ 'BaseType' => '962',
'Name' => 'opj_stream_free_user_data_fn',
'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '661',
'Type' => 'Typedef'
},
- '11434' => {
+ '11973' => {
'BaseType' => '130',
- 'Header' => 'openjpeg.h',
- 'Line' => '660',
'Name' => 'opj_stream_t',
'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '666',
'Type' => 'Typedef'
},
- '11832' => {
- 'BaseType' => '11108',
- 'Name' => 'OPJ_FLOAT32*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '11838' => {
- 'BaseType' => '9044',
- 'Name' => 'OPJ_UINT32*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '130' => {
- 'BaseType' => '1',
- 'Name' => 'void*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '132' => {
- 'BaseType' => '138',
- 'Name' => 'char*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '138' => {
- 'Name' => 'char',
- 'Size' => '1',
- 'Type' => 'Intrinsic'
- },
- '145' => {
- 'BaseType' => '66',
- 'Header' => 'stddef.h',
- 'Line' => '212',
- 'Name' => 'size_t',
- 'Size' => '8',
- 'Type' => 'Typedef'
- },
- '14570' => {
- 'BaseType' => '11434',
- 'Name' => 'opj_stream_t*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '156' => {
- 'BaseType' => '162',
- 'Name' => 'char const*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '162' => {
- 'BaseType' => '138',
- 'Name' => 'char const',
- 'Size' => '1',
- 'Type' => 'Const'
- },
- '18206' => {
- 'BaseType' => '138',
- 'Header' => 'openjpeg.h',
- 'Line' => '114',
- 'Name' => 'OPJ_CHAR',
- 'Size' => '1',
- 'Type' => 'Typedef'
- },
- '18250' => {
- 'BaseType' => '52',
- 'Header' => 'stdint.h',
- 'Line' => '49',
- 'Name' => 'uint16_t',
- 'Size' => '2',
- 'Type' => 'Typedef'
- },
- '18283' => {
- 'BaseType' => '18250',
- 'Header' => 'openjpeg.h',
- 'Line' => '124',
- 'Name' => 'OPJ_UINT16',
- 'Size' => '2',
- 'Type' => 'Typedef'
- },
- '18338' => {
- 'Header' => 'openjpeg.h',
- 'Line' => '297',
- 'Memb' => {
- '0' => {
- 'name' => 'OPJ_PROG_UNKNOWN',
- 'value' => '-1'
- },
- '1' => {
- 'name' => 'OPJ_LRCP',
- 'value' => '0'
- },
- '2' => {
- 'name' => 'OPJ_RLCP',
- 'value' => '1'
- },
- '3' => {
- 'name' => 'OPJ_RPCL',
- 'value' => '2'
- },
- '4' => {
- 'name' => 'OPJ_PCRL',
- 'value' => '3'
- },
- '5' => {
- 'name' => 'OPJ_CPRL',
- 'value' => '4'
- }
- },
- 'Name' => 'enum PROG_ORDER',
- 'Size' => '4',
- 'Type' => 'Enum'
- },
- '18388' => {
- 'BaseType' => '18338',
- 'Header' => 'openjpeg.h',
- 'Line' => '304',
- 'Name' => 'OPJ_PROG_ORDER',
- 'Size' => '4',
- 'Type' => 'Typedef'
- },
- '183951' => {
- 'BaseType' => '85860',
- 'Name' => 'opj_codestream_info_v2_t**',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '18400' => {
- 'Header' => 'openjpeg.h',
- 'Line' => '309',
- 'Memb' => {
- '0' => {
- 'name' => 'OPJ_CLRSPC_UNKNOWN',
- 'value' => '-1'
- },
- '1' => {
- 'name' => 'OPJ_CLRSPC_UNSPECIFIED',
- 'value' => '0'
- },
- '2' => {
- 'name' => 'OPJ_CLRSPC_SRGB',
- 'value' => '1'
- },
- '3' => {
- 'name' => 'OPJ_CLRSPC_GRAY',
- 'value' => '2'
- },
- '4' => {
- 'name' => 'OPJ_CLRSPC_SYCC',
- 'value' => '3'
- },
- '5' => {
- 'name' => 'OPJ_CLRSPC_EYCC',
- 'value' => '4'
- },
- '6' => {
- 'name' => 'OPJ_CLRSPC_CMYK',
- 'value' => '5'
- }
- },
- 'Name' => 'enum COLOR_SPACE',
- 'Size' => '4',
- 'Type' => 'Enum'
- },
- '18456' => {
- 'BaseType' => '18400',
- 'Header' => 'openjpeg.h',
- 'Line' => '317',
- 'Name' => 'OPJ_COLOR_SPACE',
- 'Size' => '4',
- 'Type' => 'Typedef'
- },
- '18468' => {
- 'Header' => 'openjpeg.h',
- 'Line' => '359',
- 'Memb' => {
- '0' => {
- 'name' => 'resno0',
- 'offset' => '0',
- 'type' => '9044'
- },
- '1' => {
- 'name' => 'compno0',
- 'offset' => '4',
- 'type' => '9044'
- },
- '10' => {
- 'name' => 'progorder',
- 'offset' => '40',
- 'type' => '18948'
- },
- '11' => {
- 'name' => 'tile',
- 'offset' => '48',
- 'type' => '9044'
- },
- '12' => {
- 'name' => 'tx0',
- 'offset' => '52',
- 'type' => '9033'
- },
- '13' => {
- 'name' => 'tx1',
- 'offset' => '56',
- 'type' => '9033'
- },
- '14' => {
- 'name' => 'ty0',
- 'offset' => '60',
- 'type' => '9033'
- },
- '15' => {
- 'name' => 'ty1',
- 'offset' => '64',
- 'type' => '9033'
- },
- '16' => {
- 'name' => 'layS',
- 'offset' => '68',
- 'type' => '9044'
- },
- '17' => {
- 'name' => 'resS',
- 'offset' => '72',
- 'type' => '9044'
- },
- '18' => {
- 'name' => 'compS',
- 'offset' => '76',
- 'type' => '9044'
- },
- '19' => {
- 'name' => 'prcS',
- 'offset' => '80',
- 'type' => '9044'
- },
- '2' => {
- 'name' => 'layno1',
- 'offset' => '8',
- 'type' => '9044'
- },
- '20' => {
- 'name' => 'layE',
- 'offset' => '84',
- 'type' => '9044'
- },
- '21' => {
- 'name' => 'resE',
- 'offset' => '88',
- 'type' => '9044'
- },
- '22' => {
- 'name' => 'compE',
- 'offset' => '92',
- 'type' => '9044'
- },
- '23' => {
- 'name' => 'prcE',
- 'offset' => '96',
- 'type' => '9044'
- },
- '24' => {
- 'name' => 'txS',
- 'offset' => '100',
- 'type' => '9044'
- },
- '25' => {
- 'name' => 'txE',
- 'offset' => '104',
- 'type' => '9044'
- },
- '26' => {
- 'name' => 'tyS',
- 'offset' => '108',
- 'type' => '9044'
- },
- '27' => {
- 'name' => 'tyE',
- 'offset' => '112',
- 'type' => '9044'
- },
- '28' => {
- 'name' => 'dx',
- 'offset' => '116',
- 'type' => '9044'
- },
- '29' => {
- 'name' => 'dy',
- 'offset' => '120',
- 'type' => '9044'
- },
- '3' => {
- 'name' => 'resno1',
- 'offset' => '12',
- 'type' => '9044'
- },
- '30' => {
- 'name' => 'lay_t',
- 'offset' => '124',
- 'type' => '9044'
- },
- '31' => {
- 'name' => 'res_t',
- 'offset' => '128',
- 'type' => '9044'
- },
- '32' => {
- 'name' => 'comp_t',
- 'offset' => '132',
- 'type' => '9044'
- },
- '33' => {
- 'name' => 'prc_t',
- 'offset' => '136',
- 'type' => '9044'
- },
- '34' => {
- 'name' => 'tx0_t',
- 'offset' => '140',
- 'type' => '9044'
- },
- '35' => {
- 'name' => 'ty0_t',
- 'offset' => '144',
- 'type' => '9044'
- },
- '4' => {
- 'name' => 'compno1',
- 'offset' => '16',
- 'type' => '9044'
- },
- '5' => {
- 'name' => 'layno0',
- 'offset' => '20',
- 'type' => '9044'
- },
- '6' => {
- 'name' => 'precno0',
- 'offset' => '24',
- 'type' => '9044'
- },
- '7' => {
- 'name' => 'precno1',
- 'offset' => '28',
- 'type' => '9044'
- },
- '8' => {
- 'name' => 'prg1',
- 'offset' => '32',
- 'type' => '18388'
- },
- '9' => {
- 'name' => 'prg',
- 'offset' => '36',
- 'type' => '18388'
- }
- },
- 'Name' => 'struct opj_poc',
- 'Size' => '148',
- 'Type' => 'Struct'
- },
- '18948' => {
- 'BaseType' => '18206',
- 'Name' => 'OPJ_CHAR[5]',
- 'Size' => '5',
- 'Type' => 'Array'
- },
- '18964' => {
- 'BaseType' => '18468',
- 'Header' => 'openjpeg.h',
- 'Line' => '382',
- 'Name' => 'opj_poc_t',
- 'Size' => '148',
- 'Type' => 'Typedef'
- },
- '18976' => {
- 'BaseType' => '18964',
- 'Name' => 'opj_poc_t[32]',
- 'Size' => '4736',
- 'Type' => 'Array'
- },
- '18992' => {
- 'Header' => 'openjpeg.h',
- 'Line' => '671',
- 'Memb' => {
- '0' => {
- 'name' => 'dx',
- 'offset' => '0',
- 'type' => '9044'
- },
- '1' => {
- 'name' => 'dy',
- 'offset' => '4',
- 'type' => '9044'
- },
- '10' => {
- 'name' => 'factor',
- 'offset' => '40',
- 'type' => '9044'
- },
- '11' => {
- 'name' => 'data',
- 'offset' => '48',
- 'type' => '19167'
- },
- '12' => {
- 'name' => 'alpha',
- 'offset' => '56',
- 'type' => '18283'
- },
- '2' => {
- 'name' => 'w',
- 'offset' => '8',
- 'type' => '9044'
- },
- '3' => {
- 'name' => 'h',
- 'offset' => '12',
- 'type' => '9044'
- },
- '4' => {
- 'name' => 'x0',
- 'offset' => '16',
- 'type' => '9044'
- },
- '5' => {
- 'name' => 'y0',
- 'offset' => '20',
- 'type' => '9044'
- },
- '6' => {
- 'name' => 'prec',
- 'offset' => '24',
- 'type' => '9044'
- },
- '7' => {
- 'name' => 'bpp',
- 'offset' => '28',
- 'type' => '9044'
- },
- '8' => {
- 'name' => 'sgnd',
- 'offset' => '32',
- 'type' => '9044'
- },
- '9' => {
- 'name' => 'resno_decoded',
- 'offset' => '36',
- 'type' => '9044'
- }
- },
- 'Name' => 'struct opj_image_comp',
- 'Size' => '64',
- 'Type' => 'Struct'
- },
- '19167' => {
- 'BaseType' => '9033',
- 'Name' => 'OPJ_INT32*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '19173' => {
- 'BaseType' => '18992',
- 'Header' => 'openjpeg.h',
- 'Line' => '698',
- 'Name' => 'opj_image_comp_t',
- 'Size' => '64',
- 'Type' => 'Typedef'
- },
- '19185' => {
- 'Header' => 'openjpeg.h',
- 'Line' => '703',
- 'Memb' => {
- '0' => {
- 'name' => 'x0',
- 'offset' => '0',
- 'type' => '9044'
- },
- '1' => {
- 'name' => 'y0',
- 'offset' => '4',
- 'type' => '9044'
- },
- '2' => {
- 'name' => 'x1',
- 'offset' => '8',
- 'type' => '9044'
- },
- '3' => {
- 'name' => 'y1',
- 'offset' => '12',
- 'type' => '9044'
- },
- '4' => {
- 'name' => 'numcomps',
- 'offset' => '16',
- 'type' => '9044'
- },
- '5' => {
- 'name' => 'color_space',
- 'offset' => '20',
- 'type' => '18456'
- },
- '6' => {
- 'name' => 'comps',
- 'offset' => '24',
- 'type' => '19312'
- },
- '7' => {
- 'name' => 'icc_profile_buf',
- 'offset' => '32',
- 'type' => '9066'
- },
- '8' => {
- 'name' => 'icc_profile_len',
- 'offset' => '40',
- 'type' => '9044'
- }
- },
- 'Name' => 'struct opj_image',
- 'Size' => '48',
- 'Type' => 'Struct'
- },
- '19312' => {
- 'BaseType' => '19173',
- 'Name' => 'opj_image_comp_t*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '19324' => {
- 'BaseType' => '19185',
- 'Header' => 'openjpeg.h',
- 'Line' => '722',
- 'Name' => 'opj_image_t',
- 'Size' => '48',
- 'Type' => 'Typedef'
- },
- '19336' => {
- 'BaseType' => '9044',
- 'Name' => 'OPJ_UINT32[33]',
- 'Size' => '132',
- 'Type' => 'Array'
- },
- '21106' => {
- 'BaseType' => '19324',
- 'Name' => 'opj_image_t*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '2252' => {
- 'Name' => 'float',
- 'Size' => '4',
- 'Type' => 'Intrinsic'
- },
- '2259' => {
- 'Name' => 'double',
- 'Size' => '8',
- 'Type' => 'Intrinsic'
- },
- '2266' => {
- 'Header' => 'libio.h',
- 'Line' => '241',
- 'Memb' => {
- '0' => {
- 'name' => '_flags',
- 'offset' => '0',
- 'type' => '87'
- },
- '1' => {
- 'name' => '_IO_read_ptr',
- 'offset' => '8',
- 'type' => '132'
- },
- '10' => {
- 'name' => '_IO_backup_base',
- 'offset' => '80',
- 'type' => '132'
- },
- '11' => {
- 'name' => '_IO_save_end',
- 'offset' => '88',
- 'type' => '132'
- },
- '12' => {
- 'name' => '_markers',
- 'offset' => '96',
- 'type' => '2703'
- },
- '13' => {
- 'name' => '_chain',
- 'offset' => '104',
- 'type' => '2709'
- },
- '14' => {
- 'name' => '_fileno',
- 'offset' => '112',
- 'type' => '87'
- },
- '15' => {
- 'name' => '_flags2',
- 'offset' => '116',
- 'type' => '87'
- },
- '16' => {
- 'name' => '_old_offset',
- 'offset' => '120',
- 'type' => '101'
- },
- '17' => {
- 'name' => '_cur_column',
- 'offset' => '128',
- 'type' => '52'
- },
- '18' => {
- 'name' => '_vtable_offset',
- 'offset' => '130',
- 'type' => '73'
- },
- '19' => {
- 'name' => '_shortbuf',
- 'offset' => '131',
- 'type' => '2715'
- },
- '2' => {
- 'name' => '_IO_read_end',
- 'offset' => '16',
- 'type' => '132'
- },
- '20' => {
- 'name' => '_lock',
- 'offset' => '136',
- 'type' => '2731'
- },
- '21' => {
- 'name' => '_offset',
- 'offset' => '144',
- 'type' => '112'
- },
- '22' => {
- 'name' => '__pad1',
- 'offset' => '152',
- 'type' => '130'
- },
- '23' => {
- 'name' => '__pad2',
- 'offset' => '160',
- 'type' => '130'
- },
- '24' => {
- 'name' => '__pad3',
- 'offset' => '168',
- 'type' => '130'
- },
- '25' => {
- 'name' => '__pad4',
- 'offset' => '176',
- 'type' => '130'
- },
- '26' => {
- 'name' => '__pad5',
- 'offset' => '184',
- 'type' => '145'
- },
- '27' => {
- 'name' => '_mode',
- 'offset' => '192',
- 'type' => '87'
- },
- '28' => {
- 'name' => '_unused2',
- 'offset' => '196',
- 'type' => '2737'
- },
- '3' => {
- 'name' => '_IO_read_base',
- 'offset' => '24',
- 'type' => '132'
- },
- '4' => {
- 'name' => '_IO_write_base',
- 'offset' => '32',
- 'type' => '132'
- },
- '5' => {
- 'name' => '_IO_write_ptr',
- 'offset' => '40',
- 'type' => '132'
- },
- '6' => {
- 'name' => '_IO_write_end',
- 'offset' => '48',
- 'type' => '132'
- },
- '7' => {
- 'name' => '_IO_buf_base',
- 'offset' => '56',
- 'type' => '132'
- },
- '8' => {
- 'name' => '_IO_buf_end',
- 'offset' => '64',
- 'type' => '132'
- },
- '9' => {
- 'name' => '_IO_save_base',
- 'offset' => '72',
- 'type' => '132'
- }
- },
- 'Name' => 'struct _IO_FILE',
- 'PrivateABI' => 1,
- 'Size' => '216',
- 'Type' => 'Struct'
- },
- '23206' => {
- 'BaseType' => '2753',
- 'Name' => 'OPJ_BOOL*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '23240' => {
- 'BaseType' => '9044',
- 'Name' => 'OPJ_UINT32 const',
- 'Size' => '4',
- 'Type' => 'Const'
- },
- '236457' => {
+ '120235' => {
'Header' => 'openjpeg.h',
- 'Line' => '322',
'Memb' => {
'0' => {
- 'name' => 'OPJ_CODEC_UNKNOWN',
- 'value' => '-1'
+ 'name' => 'OPJ_STD_RSIZ',
+ 'value' => '0'
},
'1' => {
- 'name' => 'OPJ_CODEC_J2K',
- 'value' => '0'
+ 'name' => 'OPJ_CINEMA2K',
+ 'value' => '3'
},
'2' => {
- 'name' => 'OPJ_CODEC_JPT',
- 'value' => '1'
+ 'name' => 'OPJ_CINEMA4K',
+ 'value' => '4'
},
'3' => {
- 'name' => 'OPJ_CODEC_JP2',
- 'value' => '2'
- },
- '4' => {
- 'name' => 'OPJ_CODEC_JPP',
- 'value' => '3'
- },
- '5' => {
- 'name' => 'OPJ_CODEC_JPX',
- 'value' => '4'
+ 'name' => 'OPJ_MCT',
+ 'value' => '33024'
}
},
- 'Name' => 'enum CODEC_FORMAT',
+ 'Name' => 'enum RSIZ_CAPABILITIES',
'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '282',
'Type' => 'Enum'
},
- '236507' => {
- 'BaseType' => '236457',
- 'Header' => 'openjpeg.h',
- 'Line' => '329',
- 'Name' => 'OPJ_CODEC_FORMAT',
+ '120280' => {
+ 'BaseType' => '120235',
+ 'Name' => 'OPJ_RSIZ_CAPABILITIES',
'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '287',
'Type' => 'Typedef'
},
- '238264' => {
- 'BaseType' => '130',
+ '120293' => {
'Header' => 'openjpeg.h',
- 'Line' => '612',
- 'Name' => 'opj_codec_t',
- 'Size' => '8',
- 'Type' => 'Typedef'
- },
- '247769' => {
- 'BaseType' => '238264',
- 'Name' => 'opj_codec_t*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '252452' => {
- 'BaseType' => '83562',
- 'Name' => 'opj_codestream_index_t**',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '2647' => {
- 'Header' => 'libio.h',
- 'Line' => '150',
- 'Name' => '_IO_lock_t',
- 'Type' => 'Typedef'
- },
- '2654' => {
- 'Header' => 'libio.h',
- 'Line' => '156',
- 'Memb' => {
- '0' => {
- 'name' => '_next',
- 'offset' => '0',
- 'type' => '2703'
- },
- '1' => {
- 'name' => '_sbuf',
- 'offset' => '8',
- 'type' => '2709'
- },
- '2' => {
- 'name' => '_pos',
- 'offset' => '16',
- 'type' => '87'
- }
- },
- 'Name' => 'struct _IO_marker',
- 'PrivateABI' => 1,
- 'Size' => '24',
- 'Type' => 'Struct'
- },
- '2703' => {
- 'BaseType' => '2654',
- 'Name' => 'struct _IO_marker*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '2709' => {
- 'BaseType' => '2266',
- 'Name' => 'struct _IO_FILE*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '2715' => {
- 'BaseType' => '138',
- 'Name' => 'char[1]',
- 'Size' => '1',
- 'Type' => 'Array'
- },
- '2731' => {
- 'BaseType' => '2647',
- 'Name' => '_IO_lock_t*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '2737' => {
- 'BaseType' => '138',
- 'Name' => 'char[20]',
- 'Size' => '20',
- 'Type' => 'Array'
- },
- '2753' => {
- 'BaseType' => '87',
- 'Header' => 'openjpeg.h',
- 'Line' => '110',
- 'Name' => 'OPJ_BOOL',
- 'Size' => '4',
- 'Type' => 'Typedef'
- },
- '45' => {
- 'Name' => 'unsigned char',
- 'Size' => '1',
- 'Type' => 'Intrinsic'
- },
- '52' => {
- 'Name' => 'unsigned short',
- 'Size' => '2',
- 'Type' => 'Intrinsic'
- },
- '59' => {
- 'Name' => 'unsigned int',
- 'Size' => '4',
- 'Type' => 'Intrinsic'
- },
- '66' => {
- 'Name' => 'unsigned long',
- 'Size' => '8',
- 'Type' => 'Intrinsic'
- },
- '67857' => {
- 'Header' => 'openjpeg.h',
- 'Line' => '728',
- 'Memb' => {
- '0' => {
- 'name' => 'dx',
- 'offset' => '0',
- 'type' => '9044'
- },
- '1' => {
- 'name' => 'dy',
- 'offset' => '4',
- 'type' => '9044'
- },
- '2' => {
- 'name' => 'w',
- 'offset' => '8',
- 'type' => '9044'
- },
- '3' => {
- 'name' => 'h',
- 'offset' => '12',
- 'type' => '9044'
- },
- '4' => {
- 'name' => 'x0',
- 'offset' => '16',
- 'type' => '9044'
- },
- '5' => {
- 'name' => 'y0',
- 'offset' => '20',
- 'type' => '9044'
- },
- '6' => {
- 'name' => 'prec',
- 'offset' => '24',
- 'type' => '9044'
- },
- '7' => {
- 'name' => 'bpp',
- 'offset' => '28',
- 'type' => '9044'
- },
- '8' => {
- 'name' => 'sgnd',
- 'offset' => '32',
- 'type' => '9044'
- }
- },
- 'Name' => 'struct opj_image_comptparm',
- 'Size' => '36',
- 'Type' => 'Struct'
- },
- '67980' => {
- 'BaseType' => '67857',
- 'Header' => 'openjpeg.h',
- 'Line' => '747',
- 'Name' => 'opj_image_cmptparm_t',
- 'Size' => '36',
- 'Type' => 'Typedef'
- },
- '70518' => {
- 'BaseType' => '67980',
- 'Name' => 'opj_image_cmptparm_t*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '73' => {
- 'Name' => 'signed char',
- 'Size' => '1',
- 'Type' => 'Intrinsic'
- },
- '75668' => {
- 'BaseType' => '2266',
- 'Header' => 'stdio.h',
- 'Line' => '48',
- 'Name' => 'FILE',
- 'Size' => '216',
- 'Type' => 'Typedef'
- },
- '76397' => {
- 'Header' => 'openjpeg.h',
- 'Line' => '276',
- 'Memb' => {
- '0' => {
- 'name' => 'OPJ_STD_RSIZ',
- 'value' => '0'
- },
- '1' => {
- 'name' => 'OPJ_CINEMA2K',
- 'value' => '3'
- },
- '2' => {
- 'name' => 'OPJ_CINEMA4K',
- 'value' => '4'
- },
- '3' => {
- 'name' => 'OPJ_MCT',
- 'value' => '33024'
- }
- },
- 'Name' => 'enum RSIZ_CAPABILITIES',
- 'Size' => '4',
- 'Type' => 'Enum'
- },
- '76437' => {
- 'BaseType' => '76397',
- 'Header' => 'openjpeg.h',
- 'Line' => '281',
- 'Name' => 'OPJ_RSIZ_CAPABILITIES',
- 'Size' => '4',
- 'Type' => 'Typedef'
- },
- '76449' => {
- 'Header' => 'openjpeg.h',
- 'Line' => '287',
- 'Memb' => {
- '0' => {
- 'name' => 'OPJ_OFF',
- 'value' => '0'
- },
- '1' => {
- 'name' => 'OPJ_CINEMA2K_24',
- 'value' => '1'
- },
- '2' => {
- 'name' => 'OPJ_CINEMA2K_48',
- 'value' => '2'
- },
- '3' => {
- 'name' => 'OPJ_CINEMA4K_24',
- 'value' => '3'
- }
- },
- 'Name' => 'enum CINEMA_MODE',
- 'Size' => '4',
- 'Type' => 'Enum'
- },
- '76487' => {
- 'BaseType' => '76449',
- 'Header' => 'openjpeg.h',
- 'Line' => '292',
- 'Name' => 'OPJ_CINEMA_MODE',
- 'Size' => '4',
- 'Type' => 'Typedef'
- },
- '77171' => {
- 'Header' => 'openjpeg.h',
- 'Line' => '387',
- 'Memb' => {
- '0' => {
- 'name' => 'tile_size_on',
- 'offset' => '0',
- 'type' => '2753'
- },
- '1' => {
- 'name' => 'cp_tx0',
- 'offset' => '4',
- 'type' => '87'
- },
- '10' => {
- 'name' => 'csty',
- 'offset' => '48',
- 'type' => '87'
- },
- '11' => {
- 'name' => 'prog_order',
- 'offset' => '52',
- 'type' => '18388'
- },
- '12' => {
- 'name' => 'POC',
- 'offset' => '56',
- 'type' => '18976'
- },
- '13' => {
- 'name' => 'numpocs',
- 'offset' => '4792',
- 'type' => '9044'
- },
- '14' => {
- 'name' => 'tcp_numlayers',
- 'offset' => '4796',
- 'type' => '87'
+ 'Memb' => {
+ '0' => {
+ 'name' => 'OPJ_OFF',
+ 'value' => '0'
},
- '15' => {
- 'name' => 'tcp_rates',
- 'offset' => '4800',
- 'type' => '78035'
+ '1' => {
+ 'name' => 'OPJ_CINEMA2K_24',
+ 'value' => '1'
},
- '16' => {
- 'name' => 'tcp_distoratio',
- 'offset' => '5200',
- 'type' => '78035'
+ '2' => {
+ 'name' => 'OPJ_CINEMA2K_48',
+ 'value' => '2'
},
- '17' => {
- 'name' => 'numresolution',
- 'offset' => '5600',
- 'type' => '87'
+ '3' => {
+ 'name' => 'OPJ_CINEMA4K_24',
+ 'value' => '3'
+ }
+ },
+ 'Name' => 'enum CINEMA_MODE',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '293',
+ 'Type' => 'Enum'
+ },
+ '120337' => {
+ 'BaseType' => '120293',
+ 'Name' => 'OPJ_CINEMA_MODE',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '298',
+ 'Type' => 'Typedef'
+ },
+ '121080' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'tile_size_on',
+ 'offset' => '0',
+ 'type' => '2937'
},
- '18' => {
- 'name' => 'cblockw_init',
- 'offset' => '5604',
+ '1' => {
+ 'name' => 'cp_tx0',
+ 'offset' => '4',
'type' => '87'
},
- '19' => {
- 'name' => 'cblockh_init',
- 'offset' => '5608',
+ '10' => {
+ 'name' => 'csty',
+ 'offset' => '48',
+ 'type' => '87'
+ },
+ '11' => {
+ 'name' => 'prog_order',
+ 'offset' => '52',
+ 'type' => '19990'
+ },
+ '12' => {
+ 'name' => 'POC',
+ 'offset' => '56',
+ 'type' => '20624'
+ },
+ '13' => {
+ 'name' => 'numpocs',
+ 'offset' => '4792',
+ 'type' => '9383'
+ },
+ '14' => {
+ 'name' => 'tcp_numlayers',
+ 'offset' => '4796',
+ 'type' => '87'
+ },
+ '15' => {
+ 'name' => 'tcp_rates',
+ 'offset' => '4800',
+ 'type' => '122005'
+ },
+ '16' => {
+ 'name' => 'tcp_distoratio',
+ 'offset' => '5200',
+ 'type' => '122005'
+ },
+ '17' => {
+ 'name' => 'numresolution',
+ 'offset' => '5600',
+ 'type' => '87'
+ },
+ '18' => {
+ 'name' => 'cblockw_init',
+ 'offset' => '5604',
+ 'type' => '87'
+ },
+ '19' => {
+ 'name' => 'cblockh_init',
+ 'offset' => '5608',
+ 'type' => '87'
+ },
+ '2' => {
+ 'name' => 'cp_ty0',
+ 'offset' => '8',
'type' => '87'
},
- '2' => {
- 'name' => 'cp_ty0',
- 'offset' => '8',
- 'type' => '87'
- },
- '20' => {
- 'name' => 'mode',
- 'offset' => '5612',
+ '20' => {
+ 'name' => 'mode',
+ 'offset' => '5612',
+ 'type' => '87'
+ },
+ '21' => {
+ 'name' => 'irreversible',
+ 'offset' => '5616',
+ 'type' => '87'
+ },
+ '22' => {
+ 'name' => 'roi_compno',
+ 'offset' => '5620',
+ 'type' => '87'
+ },
+ '23' => {
+ 'name' => 'roi_shift',
+ 'offset' => '5624',
+ 'type' => '87'
+ },
+ '24' => {
+ 'name' => 'res_spec',
+ 'offset' => '5628',
+ 'type' => '87'
+ },
+ '25' => {
+ 'name' => 'prcw_init',
+ 'offset' => '5632',
+ 'type' => '122021'
+ },
+ '26' => {
+ 'name' => 'prch_init',
+ 'offset' => '5764',
+ 'type' => '122021'
+ },
+ '27' => {
+ 'name' => 'infile',
+ 'offset' => '5896',
+ 'type' => '122037'
+ },
+ '28' => {
+ 'name' => 'outfile',
+ 'offset' => '9992',
+ 'type' => '122037'
+ },
+ '29' => {
+ 'name' => 'index_on',
+ 'offset' => '14088',
+ 'type' => '87'
+ },
+ '3' => {
+ 'name' => 'cp_tdx',
+ 'offset' => '12',
'type' => '87'
},
- '21' => {
- 'name' => 'irreversible',
- 'offset' => '5616',
+ '30' => {
+ 'name' => 'index',
+ 'offset' => '14092',
+ 'type' => '122037'
+ },
+ '31' => {
+ 'name' => 'image_offset_x0',
+ 'offset' => '18188',
+ 'type' => '87'
+ },
+ '32' => {
+ 'name' => 'image_offset_y0',
+ 'offset' => '18192',
+ 'type' => '87'
+ },
+ '33' => {
+ 'name' => 'subsampling_dx',
+ 'offset' => '18196',
+ 'type' => '87'
+ },
+ '34' => {
+ 'name' => 'subsampling_dy',
+ 'offset' => '18200',
+ 'type' => '87'
+ },
+ '35' => {
+ 'name' => 'decod_format',
+ 'offset' => '18204',
+ 'type' => '87'
+ },
+ '36' => {
+ 'name' => 'cod_format',
+ 'offset' => '18208',
+ 'type' => '87'
+ },
+ '37' => {
+ 'name' => 'jpwl_epc_on',
+ 'offset' => '18212',
+ 'type' => '2937'
+ },
+ '38' => {
+ 'name' => 'jpwl_hprot_MH',
+ 'offset' => '18216',
+ 'type' => '87'
+ },
+ '39' => {
+ 'name' => 'jpwl_hprot_TPH_tileno',
+ 'offset' => '18220',
+ 'type' => '122054'
+ },
+ '4' => {
+ 'name' => 'cp_tdy',
+ 'offset' => '16',
'type' => '87'
},
- '22' => {
- 'name' => 'roi_compno',
- 'offset' => '5620',
+ '40' => {
+ 'name' => 'jpwl_hprot_TPH',
+ 'offset' => '18284',
+ 'type' => '122054'
+ },
+ '41' => {
+ 'name' => 'jpwl_pprot_tileno',
+ 'offset' => '18348',
+ 'type' => '122054'
+ },
+ '42' => {
+ 'name' => 'jpwl_pprot_packno',
+ 'offset' => '18412',
+ 'type' => '122054'
+ },
+ '43' => {
+ 'name' => 'jpwl_pprot',
+ 'offset' => '18476',
+ 'type' => '122054'
+ },
+ '44' => {
+ 'name' => 'jpwl_sens_size',
+ 'offset' => '18540',
+ 'type' => '87'
+ },
+ '45' => {
+ 'name' => 'jpwl_sens_addr',
+ 'offset' => '18544',
+ 'type' => '87'
+ },
+ '46' => {
+ 'name' => 'jpwl_sens_range',
+ 'offset' => '18548',
+ 'type' => '87'
+ },
+ '47' => {
+ 'name' => 'jpwl_sens_MH',
+ 'offset' => '18552',
+ 'type' => '87'
+ },
+ '48' => {
+ 'name' => 'jpwl_sens_TPH_tileno',
+ 'offset' => '18556',
+ 'type' => '122054'
+ },
+ '49' => {
+ 'name' => 'jpwl_sens_TPH',
+ 'offset' => '18620',
+ 'type' => '122054'
+ },
+ '5' => {
+ 'name' => 'cp_disto_alloc',
+ 'offset' => '20',
'type' => '87'
},
- '23' => {
- 'name' => 'roi_shift',
- 'offset' => '5624',
+ '50' => {
+ 'name' => 'cp_cinema',
+ 'offset' => '18684',
+ 'type' => '120337'
+ },
+ '51' => {
+ 'name' => 'max_comp_size',
+ 'offset' => '18688',
+ 'type' => '87'
+ },
+ '52' => {
+ 'name' => 'cp_rsiz',
+ 'offset' => '18692',
+ 'type' => '120280'
+ },
+ '53' => {
+ 'name' => 'tp_on',
+ 'offset' => '18696',
+ 'type' => '138'
+ },
+ '54' => {
+ 'name' => 'tp_flag',
+ 'offset' => '18697',
+ 'type' => '138'
+ },
+ '55' => {
+ 'name' => 'tcp_mct',
+ 'offset' => '18698',
+ 'type' => '138'
+ },
+ '56' => {
+ 'name' => 'jpip_on',
+ 'offset' => '18700',
+ 'type' => '2937'
+ },
+ '57' => {
+ 'name' => 'mct_data',
+ 'offset' => '18704',
+ 'type' => '130'
+ },
+ '58' => {
+ 'name' => 'max_cs_size',
+ 'offset' => '18712',
+ 'type' => '87'
+ },
+ '59' => {
+ 'name' => 'rsiz',
+ 'offset' => '18716',
+ 'type' => '19859'
+ },
+ '6' => {
+ 'name' => 'cp_fixed_alloc',
+ 'offset' => '24',
'type' => '87'
},
- '24' => {
- 'name' => 'res_spec',
- 'offset' => '5628',
+ '7' => {
+ 'name' => 'cp_fixed_quality',
+ 'offset' => '28',
'type' => '87'
},
- '25' => {
- 'name' => 'prcw_init',
- 'offset' => '5632',
- 'type' => '78051'
+ '8' => {
+ 'name' => 'cp_matrice',
+ 'offset' => '32',
+ 'type' => '121983'
},
- '26' => {
- 'name' => 'prch_init',
- 'offset' => '5764',
- 'type' => '78051'
+ '9' => {
+ 'name' => 'cp_comment',
+ 'offset' => '40',
+ 'type' => '132'
+ }
+ },
+ 'Name' => 'struct opj_cparameters',
+ 'Size' => '18720',
+ 'Source' => undef,
+ 'SourceLine' => '393',
+ 'Type' => 'Struct'
+ },
+ '121983' => {
+ 'BaseType' => '87',
+ 'Name' => 'int*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '122005' => {
+ 'BaseType' => '2340',
+ 'Name' => 'float[100]',
+ 'Size' => '400',
+ 'Type' => 'Array'
+ },
+ '122021' => {
+ 'BaseType' => '87',
+ 'Name' => 'int[33]',
+ 'Size' => '132',
+ 'Type' => 'Array'
+ },
+ '122037' => {
+ 'BaseType' => '138',
+ 'Name' => 'char[4096]',
+ 'Size' => '4096',
+ 'Type' => 'Array'
+ },
+ '122054' => {
+ 'BaseType' => '87',
+ 'Name' => 'int[16]',
+ 'Size' => '64',
+ 'Type' => 'Array'
+ },
+ '122070' => {
+ 'BaseType' => '121080',
+ 'Name' => 'opj_cparameters_t',
+ 'Size' => '18720',
+ 'Source' => undef,
+ 'SourceLine' => '544',
+ 'Type' => 'Typedef'
+ },
+ '122083' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'cp_reduce',
+ 'offset' => '0',
+ 'type' => '9383'
},
- '27' => {
+ '1' => {
+ 'name' => 'cp_layer',
+ 'offset' => '4',
+ 'type' => '9383'
+ },
+ '10' => {
+ 'name' => 'm_verbose',
+ 'offset' => '8224',
+ 'type' => '2937'
+ },
+ '11' => {
+ 'name' => 'tile_index',
+ 'offset' => '8228',
+ 'type' => '9383'
+ },
+ '12' => {
+ 'name' => 'nb_tile_to_decode',
+ 'offset' => '8232',
+ 'type' => '9383'
+ },
+ '13' => {
+ 'name' => 'jpwl_correct',
+ 'offset' => '8236',
+ 'type' => '2937'
+ },
+ '14' => {
+ 'name' => 'jpwl_exp_comps',
+ 'offset' => '8240',
+ 'type' => '87'
+ },
+ '15' => {
+ 'name' => 'jpwl_max_tiles',
+ 'offset' => '8244',
+ 'type' => '87'
+ },
+ '16' => {
+ 'name' => 'flags',
+ 'offset' => '8248',
+ 'type' => '59'
+ },
+ '2' => {
'name' => 'infile',
- 'offset' => '5896',
- 'type' => '78067'
+ 'offset' => '8',
+ 'type' => '122037'
},
- '28' => {
+ '3' => {
'name' => 'outfile',
- 'offset' => '9992',
- 'type' => '78067'
+ 'offset' => '4104',
+ 'type' => '122037'
},
- '29' => {
- 'name' => 'index_on',
- 'offset' => '14088',
+ '4' => {
+ 'name' => 'decod_format',
+ 'offset' => '8200',
'type' => '87'
},
- '3' => {
- 'name' => 'cp_tdx',
- 'offset' => '12',
- 'type' => '87'
- },
- '30' => {
- 'name' => 'index',
- 'offset' => '14092',
- 'type' => '78067'
- },
- '31' => {
- 'name' => 'image_offset_x0',
- 'offset' => '18188',
+ '5' => {
+ 'name' => 'cod_format',
+ 'offset' => '8204',
'type' => '87'
},
- '32' => {
- 'name' => 'image_offset_y0',
- 'offset' => '18192',
- 'type' => '87'
+ '6' => {
+ 'name' => 'DA_x0',
+ 'offset' => '8208',
+ 'type' => '9383'
+ },
+ '7' => {
+ 'name' => 'DA_x1',
+ 'offset' => '8212',
+ 'type' => '9383'
+ },
+ '8' => {
+ 'name' => 'DA_y0',
+ 'offset' => '8216',
+ 'type' => '9383'
+ },
+ '9' => {
+ 'name' => 'DA_y1',
+ 'offset' => '8220',
+ 'type' => '9383'
+ }
+ },
+ 'Name' => 'struct opj_dparameters',
+ 'Size' => '8252',
+ 'Source' => undef,
+ 'SourceLine' => '552',
+ 'Type' => 'Struct'
+ },
+ '122351' => {
+ 'BaseType' => '122083',
+ 'Name' => 'opj_dparameters_t',
+ 'Size' => '8252',
+ 'Source' => undef,
+ 'SourceLine' => '612',
+ 'Type' => 'Typedef'
+ },
+ '122899' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'start_pos',
+ 'offset' => '0',
+ 'type' => '11749'
},
- '33' => {
- 'name' => 'subsampling_dx',
- 'offset' => '18196',
- 'type' => '87'
+ '1' => {
+ 'name' => 'end_ph_pos',
+ 'offset' => '8',
+ 'type' => '11749'
},
- '34' => {
- 'name' => 'subsampling_dy',
- 'offset' => '18200',
- 'type' => '87'
+ '2' => {
+ 'name' => 'end_pos',
+ 'offset' => '16',
+ 'type' => '11749'
},
- '35' => {
- 'name' => 'decod_format',
- 'offset' => '18204',
- 'type' => '87'
+ '3' => {
+ 'name' => 'disto',
+ 'offset' => '24',
+ 'type' => '2347'
+ }
+ },
+ 'Name' => 'struct opj_packet_info',
+ 'Size' => '32',
+ 'Source' => undef,
+ 'SourceLine' => '766',
+ 'Type' => 'Struct'
+ },
+ '122970' => {
+ 'BaseType' => '122899',
+ 'Name' => 'opj_packet_info_t',
+ 'Size' => '32',
+ 'Source' => undef,
+ 'SourceLine' => '775',
+ 'Type' => 'Typedef'
+ },
+ '122983' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'type',
+ 'offset' => '0',
+ 'type' => '52'
},
- '36' => {
- 'name' => 'cod_format',
- 'offset' => '18208',
+ '1' => {
+ 'name' => 'pos',
+ 'offset' => '8',
+ 'type' => '11749'
+ },
+ '2' => {
+ 'name' => 'len',
+ 'offset' => '16',
'type' => '87'
+ }
+ },
+ 'Name' => 'struct opj_marker_info',
+ 'Size' => '24',
+ 'Source' => undef,
+ 'SourceLine' => '782',
+ 'Type' => 'Struct'
+ },
+ '123040' => {
+ 'BaseType' => '122983',
+ 'Name' => 'opj_marker_info_t',
+ 'Size' => '24',
+ 'Source' => undef,
+ 'SourceLine' => '789',
+ 'Type' => 'Typedef'
+ },
+ '123418' => {
+ 'BaseType' => '122970',
+ 'Name' => 'opj_packet_info_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '123424' => {
+ 'BaseType' => '123040',
+ 'Name' => 'opj_marker_info_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '123789' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'compno',
+ 'offset' => '0',
+ 'type' => '9383'
},
- '37' => {
- 'name' => 'jpwl_epc_on',
- 'offset' => '18212',
- 'type' => '2753'
+ '1' => {
+ 'name' => 'csty',
+ 'offset' => '4',
+ 'type' => '9383'
+ },
+ '10' => {
+ 'name' => 'numgbits',
+ 'offset' => '808',
+ 'type' => '9383'
+ },
+ '11' => {
+ 'name' => 'roishift',
+ 'offset' => '812',
+ 'type' => '9371'
+ },
+ '12' => {
+ 'name' => 'prcw',
+ 'offset' => '816',
+ 'type' => '21015'
+ },
+ '13' => {
+ 'name' => 'prch',
+ 'offset' => '948',
+ 'type' => '21015'
+ },
+ '2' => {
+ 'name' => 'numresolutions',
+ 'offset' => '8',
+ 'type' => '9383'
},
- '38' => {
- 'name' => 'jpwl_hprot_MH',
- 'offset' => '18216',
- 'type' => '87'
+ '3' => {
+ 'name' => 'cblkw',
+ 'offset' => '12',
+ 'type' => '9383'
},
- '39' => {
- 'name' => 'jpwl_hprot_TPH_tileno',
- 'offset' => '18220',
- 'type' => '78084'
+ '4' => {
+ 'name' => 'cblkh',
+ 'offset' => '16',
+ 'type' => '9383'
},
- '4' => {
- 'name' => 'cp_tdy',
- 'offset' => '16',
- 'type' => '87'
- },
- '40' => {
- 'name' => 'jpwl_hprot_TPH',
- 'offset' => '18284',
- 'type' => '78084'
- },
- '41' => {
- 'name' => 'jpwl_pprot_tileno',
- 'offset' => '18348',
- 'type' => '78084'
- },
- '42' => {
- 'name' => 'jpwl_pprot_packno',
- 'offset' => '18412',
- 'type' => '78084'
- },
- '43' => {
- 'name' => 'jpwl_pprot',
- 'offset' => '18476',
- 'type' => '78084'
- },
- '44' => {
- 'name' => 'jpwl_sens_size',
- 'offset' => '18540',
+ '5' => {
+ 'name' => 'cblksty',
+ 'offset' => '20',
+ 'type' => '9383'
+ },
+ '6' => {
+ 'name' => 'qmfbid',
+ 'offset' => '24',
+ 'type' => '9383'
+ },
+ '7' => {
+ 'name' => 'qntsty',
+ 'offset' => '28',
+ 'type' => '9383'
+ },
+ '8' => {
+ 'name' => 'stepsizes_mant',
+ 'offset' => '32',
+ 'type' => '124006'
+ },
+ '9' => {
+ 'name' => 'stepsizes_expn',
+ 'offset' => '420',
+ 'type' => '124006'
+ }
+ },
+ 'Name' => 'struct opj_tccp_info',
+ 'Size' => '1080',
+ 'Source' => undef,
+ 'SourceLine' => '906',
+ 'Type' => 'Struct'
+ },
+ '124006' => {
+ 'BaseType' => '9383',
+ 'Name' => 'OPJ_UINT32[97]',
+ 'Size' => '388',
+ 'Type' => 'Array'
+ },
+ '124038' => {
+ 'BaseType' => '123789',
+ 'Name' => 'opj_tccp_info_t',
+ 'Size' => '1080',
+ 'Source' => undef,
+ 'SourceLine' => '936',
+ 'Type' => 'Typedef'
+ },
+ '124051' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'tileno',
+ 'offset' => '0',
'type' => '87'
},
- '45' => {
- 'name' => 'jpwl_sens_addr',
- 'offset' => '18544',
- 'type' => '87'
+ '1' => {
+ 'name' => 'csty',
+ 'offset' => '4',
+ 'type' => '9383'
},
- '46' => {
- 'name' => 'jpwl_sens_range',
- 'offset' => '18548',
- 'type' => '87'
+ '2' => {
+ 'name' => 'prg',
+ 'offset' => '8',
+ 'type' => '19990'
},
- '47' => {
- 'name' => 'jpwl_sens_MH',
- 'offset' => '18552',
- 'type' => '87'
+ '3' => {
+ 'name' => 'numlayers',
+ 'offset' => '12',
+ 'type' => '9383'
},
- '48' => {
- 'name' => 'jpwl_sens_TPH_tileno',
- 'offset' => '18556',
- 'type' => '78084'
+ '4' => {
+ 'name' => 'mct',
+ 'offset' => '16',
+ 'type' => '9383'
},
- '49' => {
- 'name' => 'jpwl_sens_TPH',
- 'offset' => '18620',
- 'type' => '78084'
+ '5' => {
+ 'name' => 'tccp_info',
+ 'offset' => '24',
+ 'type' => '124150'
+ }
+ },
+ 'Name' => 'struct opj_tile_v2_info',
+ 'Size' => '32',
+ 'Source' => undef,
+ 'SourceLine' => '941',
+ 'Type' => 'Struct'
+ },
+ '12409' => {
+ 'BaseType' => '11648',
+ 'Name' => 'OPJ_FLOAT32*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '12415' => {
+ 'BaseType' => '9383',
+ 'Name' => 'OPJ_UINT32*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '124150' => {
+ 'BaseType' => '124038',
+ 'Name' => 'opj_tccp_info_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '124156' => {
+ 'BaseType' => '124051',
+ 'Name' => 'opj_tile_info_v2_t',
+ 'Size' => '32',
+ 'Source' => undef,
+ 'SourceLine' => '957',
+ 'Type' => 'Typedef'
+ },
+ '124169' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'tx0',
+ 'offset' => '0',
+ 'type' => '9383'
},
- '5' => {
- 'name' => 'cp_disto_alloc',
- 'offset' => '20',
- 'type' => '87'
- },
- '50' => {
- 'name' => 'cp_cinema',
- 'offset' => '18684',
- 'type' => '76487'
- },
- '51' => {
- 'name' => 'max_comp_size',
- 'offset' => '18688',
- 'type' => '87'
+ '1' => {
+ 'name' => 'ty0',
+ 'offset' => '4',
+ 'type' => '9383'
},
- '52' => {
- 'name' => 'cp_rsiz',
- 'offset' => '18692',
- 'type' => '76437'
- },
- '53' => {
- 'name' => 'tp_on',
- 'offset' => '18696',
- 'type' => '138'
- },
- '54' => {
- 'name' => 'tp_flag',
- 'offset' => '18697',
- 'type' => '138'
- },
- '55' => {
- 'name' => 'tcp_mct',
- 'offset' => '18698',
- 'type' => '138'
- },
- '56' => {
- 'name' => 'jpip_on',
- 'offset' => '18700',
- 'type' => '2753'
- },
- '57' => {
- 'name' => 'mct_data',
- 'offset' => '18704',
- 'type' => '130'
+ '2' => {
+ 'name' => 'tdx',
+ 'offset' => '8',
+ 'type' => '9383'
},
- '58' => {
- 'name' => 'max_cs_size',
- 'offset' => '18712',
- 'type' => '87'
+ '3' => {
+ 'name' => 'tdy',
+ 'offset' => '12',
+ 'type' => '9383'
},
- '59' => {
- 'name' => 'rsiz',
- 'offset' => '18716',
- 'type' => '18283'
+ '4' => {
+ 'name' => 'tw',
+ 'offset' => '16',
+ 'type' => '9383'
},
- '6' => {
- 'name' => 'cp_fixed_alloc',
- 'offset' => '24',
- 'type' => '87'
- },
- '7' => {
- 'name' => 'cp_fixed_quality',
- 'offset' => '28',
- 'type' => '87'
- },
- '8' => {
- 'name' => 'cp_matrice',
- 'offset' => '32',
- 'type' => '78013'
- },
- '9' => {
- 'name' => 'cp_comment',
- 'offset' => '40',
- 'type' => '132'
- }
- },
- 'Name' => 'struct opj_cparameters',
- 'Size' => '18720',
- 'Type' => 'Struct'
- },
- '78013' => {
- 'BaseType' => '87',
- 'Name' => 'int*',
+ '5' => {
+ 'name' => 'th',
+ 'offset' => '20',
+ 'type' => '9383'
+ },
+ '6' => {
+ 'name' => 'nbcomps',
+ 'offset' => '24',
+ 'type' => '9383'
+ },
+ '7' => {
+ 'name' => 'm_default_tile_info',
+ 'offset' => '32',
+ 'type' => '124156'
+ },
+ '8' => {
+ 'name' => 'tile_info',
+ 'offset' => '64',
+ 'type' => '124308'
+ }
+ },
+ 'Name' => 'struct opj_codestream_info_v2',
+ 'Size' => '72',
+ 'Source' => undef,
+ 'SourceLine' => '962',
+ 'Type' => 'Struct'
+ },
+ '124308' => {
+ 'BaseType' => '124156',
+ 'Name' => 'opj_tile_info_v2_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '124314' => {
+ 'BaseType' => '124169',
+ 'Name' => 'opj_codestream_info_v2_t',
+ 'Size' => '72',
+ 'Source' => undef,
+ 'SourceLine' => '986',
+ 'Type' => 'Typedef'
+ },
+ '124327' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'start_pos',
+ 'offset' => '0',
+ 'type' => '11749'
+ },
+ '1' => {
+ 'name' => 'end_header',
+ 'offset' => '8',
+ 'type' => '11749'
+ },
+ '2' => {
+ 'name' => 'end_pos',
+ 'offset' => '16',
+ 'type' => '11749'
+ }
+ },
+ 'Name' => 'struct opj_tp_index',
+ 'Size' => '24',
+ 'Source' => undef,
+ 'SourceLine' => '992',
+ 'Type' => 'Struct'
+ },
+ '124384' => {
+ 'BaseType' => '124327',
+ 'Name' => 'opj_tp_index_t',
+ 'Size' => '24',
+ 'Source' => undef,
+ 'SourceLine' => '1000',
+ 'Type' => 'Typedef'
+ },
+ '124397' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'tileno',
+ 'offset' => '0',
+ 'type' => '9383'
+ },
+ '1' => {
+ 'name' => 'nb_tps',
+ 'offset' => '4',
+ 'type' => '9383'
+ },
+ '2' => {
+ 'name' => 'current_nb_tps',
+ 'offset' => '8',
+ 'type' => '9383'
+ },
+ '3' => {
+ 'name' => 'current_tpsno',
+ 'offset' => '12',
+ 'type' => '9383'
+ },
+ '4' => {
+ 'name' => 'tp_index',
+ 'offset' => '16',
+ 'type' => '124552'
+ },
+ '5' => {
+ 'name' => 'marknum',
+ 'offset' => '24',
+ 'type' => '9383'
+ },
+ '6' => {
+ 'name' => 'marker',
+ 'offset' => '32',
+ 'type' => '123424'
+ },
+ '7' => {
+ 'name' => 'maxmarknum',
+ 'offset' => '40',
+ 'type' => '9383'
+ },
+ '8' => {
+ 'name' => 'nb_packet',
+ 'offset' => '44',
+ 'type' => '9383'
+ },
+ '9' => {
+ 'name' => 'packet_index',
+ 'offset' => '48',
+ 'type' => '123418'
+ }
+ },
+ 'Name' => 'struct opj_tile_index',
+ 'Size' => '56',
+ 'Source' => undef,
+ 'SourceLine' => '1005',
+ 'Type' => 'Struct'
+ },
+ '124552' => {
+ 'BaseType' => '124384',
+ 'Name' => 'opj_tp_index_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '124558' => {
+ 'BaseType' => '124397',
+ 'Name' => 'opj_tile_index_t',
+ 'Size' => '56',
+ 'Source' => undef,
+ 'SourceLine' => '1032',
+ 'Type' => 'Typedef'
+ },
+ '124571' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'main_head_start',
+ 'offset' => '0',
+ 'type' => '11749'
+ },
+ '1' => {
+ 'name' => 'main_head_end',
+ 'offset' => '8',
+ 'type' => '11749'
+ },
+ '2' => {
+ 'name' => 'codestream_size',
+ 'offset' => '16',
+ 'type' => '11737'
+ },
+ '3' => {
+ 'name' => 'marknum',
+ 'offset' => '24',
+ 'type' => '9383'
+ },
+ '4' => {
+ 'name' => 'marker',
+ 'offset' => '32',
+ 'type' => '123424'
+ },
+ '5' => {
+ 'name' => 'maxmarknum',
+ 'offset' => '40',
+ 'type' => '9383'
+ },
+ '6' => {
+ 'name' => 'nb_of_tiles',
+ 'offset' => '44',
+ 'type' => '9383'
+ },
+ '7' => {
+ 'name' => 'tile_index',
+ 'offset' => '48',
+ 'type' => '124698'
+ }
+ },
+ 'Name' => 'struct opj_codestream_index',
+ 'Size' => '56',
+ 'Source' => undef,
+ 'SourceLine' => '1037',
+ 'Type' => 'Struct'
+ },
+ '124698' => {
+ 'BaseType' => '124558',
+ 'Name' => 'opj_tile_index_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '124704' => {
+ 'BaseType' => '124571',
+ 'Name' => 'opj_codestream_index_t',
+ 'Size' => '56',
+ 'Source' => undef,
+ 'SourceLine' => '1060',
+ 'Type' => 'Typedef'
+ },
+ '127977' => {
+ 'BaseType' => '124704',
+ 'Name' => 'opj_codestream_index_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '130' => {
+ 'BaseType' => '1',
+ 'Name' => 'void*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '130405' => {
+ 'BaseType' => '22911',
+ 'Name' => 'opj_image_t**',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '130411' => {
+ 'BaseType' => '122351',
+ 'Name' => 'opj_dparameters_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '130423' => {
+ 'BaseType' => '19900',
+ 'Name' => 'OPJ_UINT32 const*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '130429' => {
+ 'BaseType' => '122070',
+ 'Name' => 'opj_cparameters_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '130435' => {
+ 'BaseType' => '168',
+ 'Name' => 'char const*const*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '130441' => {
+ 'BaseType' => '124314',
+ 'Name' => 'opj_codestream_info_v2_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '132' => {
+ 'BaseType' => '138',
+ 'Name' => 'char*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '138' => {
+ 'Name' => 'char',
+ 'Size' => '1',
+ 'Type' => 'Intrinsic'
+ },
+ '145' => {
+ 'BaseType' => '138',
+ 'Name' => 'char const',
+ 'Size' => '1',
+ 'Type' => 'Const'
+ },
+ '150' => {
+ 'BaseType' => '66',
+ 'Name' => 'size_t',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '209',
+ 'Type' => 'Typedef'
+ },
+ '15773' => {
+ 'BaseType' => '11973',
+ 'Name' => 'opj_stream_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '78035' => {
- 'BaseType' => '2252',
- 'Name' => 'float[100]',
- 'Size' => '400',
- 'Type' => 'Array'
- },
- '78051' => {
- 'BaseType' => '87',
- 'Name' => 'int[33]',
- 'Size' => '132',
- 'Type' => 'Array'
+ '162' => {
+ 'BaseType' => '145',
+ 'Name' => 'char const*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '168' => {
+ 'BaseType' => '162',
+ 'Name' => 'char const*const',
+ 'Size' => '8',
+ 'Type' => 'Const'
+ },
+ '18954' => {
+ 'BaseType' => '52',
+ 'Name' => '__uint16_t',
+ 'Size' => '2',
+ 'Source' => undef,
+ 'SourceLine' => '40',
+ 'Type' => 'Typedef'
},
- '78067' => {
+ '19765' => {
'BaseType' => '138',
- 'Name' => 'char[4096]',
- 'Size' => '4096',
- 'Type' => 'Array'
+ 'Name' => 'OPJ_CHAR',
+ 'Size' => '1',
+ 'Source' => undef,
+ 'SourceLine' => '120',
+ 'Type' => 'Typedef'
},
- '78084' => {
- 'BaseType' => '87',
- 'Name' => 'int[16]',
- 'Size' => '64',
- 'Type' => 'Array'
+ '19823' => {
+ 'BaseType' => '18954',
+ 'Name' => 'uint16_t',
+ 'Size' => '2',
+ 'Source' => undef,
+ 'SourceLine' => '25',
+ 'Type' => 'Typedef'
},
- '78100' => {
- 'BaseType' => '77171',
- 'Header' => 'openjpeg.h',
- 'Line' => '538',
- 'Name' => 'opj_cparameters_t',
- 'Size' => '18720',
+ '19859' => {
+ 'BaseType' => '19823',
+ 'Name' => 'OPJ_UINT16',
+ 'Size' => '2',
+ 'Source' => undef,
+ 'SourceLine' => '130',
'Type' => 'Typedef'
},
- '78112' => {
+ '19900' => {
+ 'BaseType' => '9383',
+ 'Name' => 'OPJ_UINT32 const',
+ 'Size' => '4',
+ 'Type' => 'Const'
+ },
+ '19934' => {
'Header' => 'openjpeg.h',
- 'Line' => '546',
'Memb' => {
'0' => {
- 'name' => 'cp_reduce',
- 'offset' => '0',
- 'type' => '9044'
+ 'name' => 'OPJ_PROG_UNKNOWN',
+ 'value' => '18446744073709551615 (-1)'
},
'1' => {
- 'name' => 'cp_layer',
- 'offset' => '4',
- 'type' => '9044'
+ 'name' => 'OPJ_LRCP',
+ 'value' => '0'
},
- '10' => {
- 'name' => 'm_verbose',
- 'offset' => '8224',
- 'type' => '2753'
- },
- '11' => {
- 'name' => 'tile_index',
- 'offset' => '8228',
- 'type' => '9044'
- },
- '12' => {
- 'name' => 'nb_tile_to_decode',
- 'offset' => '8232',
- 'type' => '9044'
- },
- '13' => {
- 'name' => 'jpwl_correct',
- 'offset' => '8236',
- 'type' => '2753'
- },
- '14' => {
- 'name' => 'jpwl_exp_comps',
- 'offset' => '8240',
- 'type' => '87'
- },
- '15' => {
- 'name' => 'jpwl_max_tiles',
- 'offset' => '8244',
- 'type' => '87'
- },
- '16' => {
- 'name' => 'flags',
- 'offset' => '8248',
- 'type' => '59'
- },
'2' => {
- 'name' => 'infile',
- 'offset' => '8',
- 'type' => '78067'
+ 'name' => 'OPJ_RLCP',
+ 'value' => '1'
},
'3' => {
- 'name' => 'outfile',
- 'offset' => '4104',
- 'type' => '78067'
+ 'name' => 'OPJ_RPCL',
+ 'value' => '2'
},
'4' => {
- 'name' => 'decod_format',
- 'offset' => '8200',
- 'type' => '87'
+ 'name' => 'OPJ_PCRL',
+ 'value' => '3'
},
'5' => {
- 'name' => 'cod_format',
- 'offset' => '8204',
- 'type' => '87'
- },
- '6' => {
- 'name' => 'DA_x0',
- 'offset' => '8208',
- 'type' => '9044'
- },
- '7' => {
- 'name' => 'DA_x1',
- 'offset' => '8212',
- 'type' => '9044'
- },
- '8' => {
- 'name' => 'DA_y0',
- 'offset' => '8216',
- 'type' => '9044'
- },
- '9' => {
- 'name' => 'DA_y1',
- 'offset' => '8220',
- 'type' => '9044'
+ 'name' => 'OPJ_CPRL',
+ 'value' => '4'
}
},
- 'Name' => 'struct opj_dparameters',
- 'Size' => '8252',
- 'Type' => 'Struct'
+ 'Name' => 'enum PROG_ORDER',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '303',
+ 'Type' => 'Enum'
},
- '78362' => {
- 'BaseType' => '78112',
- 'Header' => 'openjpeg.h',
- 'Line' => '606',
- 'Name' => 'opj_dparameters_t',
- 'Size' => '8252',
+ '19990' => {
+ 'BaseType' => '19934',
+ 'Name' => 'OPJ_PROG_ORDER',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '310',
'Type' => 'Typedef'
},
- '78878' => {
+ '20003' => {
'Header' => 'openjpeg.h',
- 'Line' => '760',
'Memb' => {
'0' => {
- 'name' => 'start_pos',
- 'offset' => '0',
- 'type' => '11218'
+ 'name' => 'OPJ_CLRSPC_UNKNOWN',
+ 'value' => '18446744073709551615 (-1)'
},
'1' => {
- 'name' => 'end_ph_pos',
- 'offset' => '8',
- 'type' => '11218'
+ 'name' => 'OPJ_CLRSPC_UNSPECIFIED',
+ 'value' => '0'
},
'2' => {
- 'name' => 'end_pos',
- 'offset' => '16',
- 'type' => '11218'
+ 'name' => 'OPJ_CLRSPC_SRGB',
+ 'value' => '1'
},
'3' => {
- 'name' => 'disto',
- 'offset' => '24',
- 'type' => '2259'
- }
- },
- 'Name' => 'struct opj_packet_info',
- 'Size' => '32',
- 'Type' => 'Struct'
- },
- '78944' => {
- 'BaseType' => '78878',
- 'Header' => 'openjpeg.h',
- 'Line' => '769',
- 'Name' => 'opj_packet_info_t',
- 'Size' => '32',
- 'Type' => 'Typedef'
- },
- '78956' => {
- 'Header' => 'openjpeg.h',
- 'Line' => '776',
- 'Memb' => {
- '0' => {
- 'name' => 'type',
- 'offset' => '0',
- 'type' => '52'
+ 'name' => 'OPJ_CLRSPC_GRAY',
+ 'value' => '2'
},
- '1' => {
- 'name' => 'pos',
- 'offset' => '8',
- 'type' => '11218'
+ '4' => {
+ 'name' => 'OPJ_CLRSPC_SYCC',
+ 'value' => '3'
},
- '2' => {
- 'name' => 'len',
- 'offset' => '16',
- 'type' => '87'
+ '5' => {
+ 'name' => 'OPJ_CLRSPC_EYCC',
+ 'value' => '4'
+ },
+ '6' => {
+ 'name' => 'OPJ_CLRSPC_CMYK',
+ 'value' => '5'
}
},
- 'Name' => 'struct opj_marker_info',
- 'Size' => '24',
- 'Type' => 'Struct'
+ 'Name' => 'enum COLOR_SPACE',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '315',
+ 'Type' => 'Enum'
},
- '79009' => {
- 'BaseType' => '78956',
- 'Header' => 'openjpeg.h',
- 'Line' => '783',
- 'Name' => 'opj_marker_info_t',
- 'Size' => '24',
+ '20065' => {
+ 'BaseType' => '20003',
+ 'Name' => 'OPJ_COLOR_SPACE',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '323',
'Type' => 'Typedef'
},
- '79361' => {
- 'BaseType' => '78944',
- 'Name' => 'opj_packet_info_t*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '79367' => {
- 'BaseType' => '79009',
- 'Name' => 'opj_marker_info_t*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '797' => {
- 'Name' => 'void(*)(void*)',
- 'Param' => {
- '0' => {
- 'type' => '130'
- }
- },
- 'Return' => '1',
- 'Size' => '8',
- 'Type' => 'FuncPtr'
- },
- '79707' => {
+ '20078' => {
'Header' => 'openjpeg.h',
- 'Line' => '900',
'Memb' => {
'0' => {
- 'name' => 'compno',
+ 'name' => 'resno0',
'offset' => '0',
- 'type' => '9044'
+ 'type' => '9383'
},
'1' => {
- 'name' => 'csty',
+ 'name' => 'compno0',
'offset' => '4',
- 'type' => '9044'
+ 'type' => '9383'
},
'10' => {
- 'name' => 'numgbits',
- 'offset' => '808',
- 'type' => '9044'
+ 'name' => 'progorder',
+ 'offset' => '40',
+ 'type' => '20595'
+ },
+ '11' => {
+ 'name' => 'tile',
+ 'offset' => '48',
+ 'type' => '9383'
+ },
+ '12' => {
+ 'name' => 'tx0',
+ 'offset' => '52',
+ 'type' => '9371'
+ },
+ '13' => {
+ 'name' => 'tx1',
+ 'offset' => '56',
+ 'type' => '9371'
+ },
+ '14' => {
+ 'name' => 'ty0',
+ 'offset' => '60',
+ 'type' => '9371'
+ },
+ '15' => {
+ 'name' => 'ty1',
+ 'offset' => '64',
+ 'type' => '9371'
+ },
+ '16' => {
+ 'name' => 'layS',
+ 'offset' => '68',
+ 'type' => '9383'
+ },
+ '17' => {
+ 'name' => 'resS',
+ 'offset' => '72',
+ 'type' => '9383'
+ },
+ '18' => {
+ 'name' => 'compS',
+ 'offset' => '76',
+ 'type' => '9383'
+ },
+ '19' => {
+ 'name' => 'prcS',
+ 'offset' => '80',
+ 'type' => '9383'
+ },
+ '2' => {
+ 'name' => 'layno1',
+ 'offset' => '8',
+ 'type' => '9383'
+ },
+ '20' => {
+ 'name' => 'layE',
+ 'offset' => '84',
+ 'type' => '9383'
+ },
+ '21' => {
+ 'name' => 'resE',
+ 'offset' => '88',
+ 'type' => '9383'
+ },
+ '22' => {
+ 'name' => 'compE',
+ 'offset' => '92',
+ 'type' => '9383'
},
- '11' => {
- 'name' => 'roishift',
- 'offset' => '812',
- 'type' => '9033'
+ '23' => {
+ 'name' => 'prcE',
+ 'offset' => '96',
+ 'type' => '9383'
},
- '12' => {
- 'name' => 'prcw',
- 'offset' => '816',
- 'type' => '19336'
+ '24' => {
+ 'name' => 'txS',
+ 'offset' => '100',
+ 'type' => '9383'
},
- '13' => {
- 'name' => 'prch',
- 'offset' => '948',
- 'type' => '19336'
+ '25' => {
+ 'name' => 'txE',
+ 'offset' => '104',
+ 'type' => '9383'
+ },
+ '26' => {
+ 'name' => 'tyS',
+ 'offset' => '108',
+ 'type' => '9383'
+ },
+ '27' => {
+ 'name' => 'tyE',
+ 'offset' => '112',
+ 'type' => '9383'
+ },
+ '28' => {
+ 'name' => 'dx',
+ 'offset' => '116',
+ 'type' => '9383'
+ },
+ '29' => {
+ 'name' => 'dy',
+ 'offset' => '120',
+ 'type' => '9383'
},
- '2' => {
- 'name' => 'numresolutions',
- 'offset' => '8',
- 'type' => '9044'
- },
'3' => {
- 'name' => 'cblkw',
+ 'name' => 'resno1',
'offset' => '12',
- 'type' => '9044'
+ 'type' => '9383'
},
+ '30' => {
+ 'name' => 'lay_t',
+ 'offset' => '124',
+ 'type' => '9383'
+ },
+ '31' => {
+ 'name' => 'res_t',
+ 'offset' => '128',
+ 'type' => '9383'
+ },
+ '32' => {
+ 'name' => 'comp_t',
+ 'offset' => '132',
+ 'type' => '9383'
+ },
+ '33' => {
+ 'name' => 'prc_t',
+ 'offset' => '136',
+ 'type' => '9383'
+ },
+ '34' => {
+ 'name' => 'tx0_t',
+ 'offset' => '140',
+ 'type' => '9383'
+ },
+ '35' => {
+ 'name' => 'ty0_t',
+ 'offset' => '144',
+ 'type' => '9383'
+ },
'4' => {
- 'name' => 'cblkh',
+ 'name' => 'compno1',
'offset' => '16',
- 'type' => '9044'
+ 'type' => '9383'
},
'5' => {
- 'name' => 'cblksty',
+ 'name' => 'layno0',
'offset' => '20',
- 'type' => '9044'
+ 'type' => '9383'
},
'6' => {
- 'name' => 'qmfbid',
+ 'name' => 'precno0',
'offset' => '24',
- 'type' => '9044'
+ 'type' => '9383'
},
'7' => {
- 'name' => 'qntsty',
+ 'name' => 'precno1',
'offset' => '28',
- 'type' => '9044'
+ 'type' => '9383'
},
'8' => {
- 'name' => 'stepsizes_mant',
+ 'name' => 'prg1',
'offset' => '32',
- 'type' => '79909'
+ 'type' => '19990'
},
'9' => {
- 'name' => 'stepsizes_expn',
- 'offset' => '420',
- 'type' => '79909'
+ 'name' => 'prg',
+ 'offset' => '36',
+ 'type' => '19990'
}
},
- 'Name' => 'struct opj_tccp_info',
- 'Size' => '1080',
+ 'Name' => 'struct opj_poc',
+ 'Size' => '148',
+ 'Source' => undef,
+ 'SourceLine' => '365',
'Type' => 'Struct'
},
- '79909' => {
- 'BaseType' => '9044',
- 'Name' => 'OPJ_UINT32[97]',
- 'Size' => '388',
+ '20595' => {
+ 'BaseType' => '19765',
+ 'Name' => 'OPJ_CHAR[5]',
+ 'Size' => '5',
'Type' => 'Array'
},
- '79941' => {
- 'BaseType' => '79707',
- 'Header' => 'openjpeg.h',
- 'Line' => '930',
- 'Name' => 'opj_tccp_info_t',
- 'Size' => '1080',
+ '20611' => {
+ 'BaseType' => '20078',
+ 'Name' => 'opj_poc_t',
+ 'Size' => '148',
+ 'Source' => undef,
+ 'SourceLine' => '388',
'Type' => 'Typedef'
},
- '79953' => {
+ '20624' => {
+ 'BaseType' => '20611',
+ 'Name' => 'opj_poc_t[32]',
+ 'Size' => '4736',
+ 'Type' => 'Array'
+ },
+ '20640' => {
'Header' => 'openjpeg.h',
- 'Line' => '935',
'Memb' => {
'0' => {
- 'name' => 'tileno',
+ 'name' => 'dx',
'offset' => '0',
- 'type' => '87'
+ 'type' => '9383'
},
'1' => {
- 'name' => 'csty',
+ 'name' => 'dy',
'offset' => '4',
- 'type' => '9044'
+ 'type' => '9383'
},
+ '10' => {
+ 'name' => 'factor',
+ 'offset' => '40',
+ 'type' => '9383'
+ },
+ '11' => {
+ 'name' => 'data',
+ 'offset' => '48',
+ 'type' => '20829'
+ },
+ '12' => {
+ 'name' => 'alpha',
+ 'offset' => '56',
+ 'type' => '19859'
+ },
'2' => {
- 'name' => 'prg',
+ 'name' => 'w',
'offset' => '8',
- 'type' => '18388'
+ 'type' => '9383'
},
'3' => {
- 'name' => 'numlayers',
+ 'name' => 'h',
'offset' => '12',
- 'type' => '9044'
+ 'type' => '9383'
},
'4' => {
- 'name' => 'mct',
+ 'name' => 'x0',
'offset' => '16',
- 'type' => '9044'
+ 'type' => '9383'
},
'5' => {
- 'name' => 'tccp_info',
+ 'name' => 'y0',
+ 'offset' => '20',
+ 'type' => '9383'
+ },
+ '6' => {
+ 'name' => 'prec',
'offset' => '24',
- 'type' => '80045'
+ 'type' => '9383'
+ },
+ '7' => {
+ 'name' => 'bpp',
+ 'offset' => '28',
+ 'type' => '9383'
+ },
+ '8' => {
+ 'name' => 'sgnd',
+ 'offset' => '32',
+ 'type' => '9383'
+ },
+ '9' => {
+ 'name' => 'resno_decoded',
+ 'offset' => '36',
+ 'type' => '9383'
}
},
- 'Name' => 'struct opj_tile_v2_info',
- 'Size' => '32',
+ 'Name' => 'struct opj_image_comp',
+ 'Size' => '64',
+ 'Source' => undef,
+ 'SourceLine' => '677',
'Type' => 'Struct'
},
- '80045' => {
- 'BaseType' => '79941',
- 'Name' => 'opj_tccp_info_t*',
+ '20829' => {
+ 'BaseType' => '9371',
+ 'Name' => 'OPJ_INT32*',
'Size' => '8',
'Type' => 'Pointer'
},
- '80051' => {
- 'BaseType' => '79953',
- 'Header' => 'openjpeg.h',
- 'Line' => '951',
- 'Name' => 'opj_tile_info_v2_t',
- 'Size' => '32',
+ '20840' => {
+ 'BaseType' => '20640',
+ 'Name' => 'opj_image_comp_t',
+ 'Size' => '64',
+ 'Source' => undef,
+ 'SourceLine' => '704',
'Type' => 'Typedef'
},
- '80063' => {
+ '20853' => {
'Header' => 'openjpeg.h',
- 'Line' => '956',
'Memb' => {
'0' => {
- 'name' => 'tx0',
+ 'name' => 'x0',
'offset' => '0',
- 'type' => '9044'
+ 'type' => '9383'
},
'1' => {
- 'name' => 'ty0',
+ 'name' => 'y0',
'offset' => '4',
- 'type' => '9044'
+ 'type' => '9383'
},
'2' => {
- 'name' => 'tdx',
+ 'name' => 'x1',
'offset' => '8',
- 'type' => '9044'
+ 'type' => '9383'
},
'3' => {
- 'name' => 'tdy',
+ 'name' => 'y1',
'offset' => '12',
- 'type' => '9044'
+ 'type' => '9383'
},
'4' => {
- 'name' => 'tw',
+ 'name' => 'numcomps',
'offset' => '16',
- 'type' => '9044'
+ 'type' => '9383'
},
'5' => {
- 'name' => 'th',
+ 'name' => 'color_space',
'offset' => '20',
- 'type' => '9044'
+ 'type' => '20065'
},
'6' => {
- 'name' => 'nbcomps',
+ 'name' => 'comps',
'offset' => '24',
- 'type' => '9044'
+ 'type' => '20990'
},
'7' => {
- 'name' => 'm_default_tile_info',
+ 'name' => 'icc_profile_buf',
'offset' => '32',
- 'type' => '80051'
+ 'type' => '9407'
},
'8' => {
- 'name' => 'tile_info',
- 'offset' => '64',
- 'type' => '80192'
+ 'name' => 'icc_profile_len',
+ 'offset' => '40',
+ 'type' => '9383'
}
},
- 'Name' => 'struct opj_codestream_info_v2',
- 'Size' => '72',
+ 'Name' => 'struct opj_image',
+ 'Size' => '48',
+ 'Source' => undef,
+ 'SourceLine' => '709',
'Type' => 'Struct'
},
- '80192' => {
- 'BaseType' => '80051',
- 'Name' => 'opj_tile_info_v2_t*',
+ '20990' => {
+ 'BaseType' => '20840',
+ 'Name' => 'opj_image_comp_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '80198' => {
- 'BaseType' => '80063',
- 'Header' => 'openjpeg.h',
- 'Line' => '980',
- 'Name' => 'opj_codestream_info_v2_t',
- 'Size' => '72',
+ '21002' => {
+ 'BaseType' => '20853',
+ 'Name' => 'opj_image_t',
+ 'Size' => '48',
+ 'Source' => undef,
+ 'SourceLine' => '728',
'Type' => 'Typedef'
},
- '80210' => {
- 'Header' => 'openjpeg.h',
- 'Line' => '986',
- 'Memb' => {
- '0' => {
- 'name' => 'start_pos',
- 'offset' => '0',
- 'type' => '11218'
- },
- '1' => {
- 'name' => 'end_header',
- 'offset' => '8',
- 'type' => '11218'
- },
- '2' => {
- 'name' => 'end_pos',
- 'offset' => '16',
- 'type' => '11218'
- }
- },
- 'Name' => 'struct opj_tp_index',
- 'Size' => '24',
- 'Type' => 'Struct'
+ '21015' => {
+ 'BaseType' => '9383',
+ 'Name' => 'OPJ_UINT32[33]',
+ 'Size' => '132',
+ 'Type' => 'Array'
},
- '80263' => {
- 'BaseType' => '80210',
- 'Header' => 'openjpeg.h',
- 'Line' => '994',
- 'Name' => 'opj_tp_index_t',
- 'Size' => '24',
- 'Type' => 'Typedef'
+ '22911' => {
+ 'BaseType' => '21002',
+ 'Name' => 'opj_image_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
},
- '80275' => {
- 'Header' => 'openjpeg.h',
- 'Line' => '999',
- 'Memb' => {
- '0' => {
- 'name' => 'tileno',
- 'offset' => '0',
- 'type' => '9044'
+ '2340' => {
+ 'Name' => 'float',
+ 'Size' => '4',
+ 'Type' => 'Intrinsic'
+ },
+ '2347' => {
+ 'Name' => 'double',
+ 'Size' => '8',
+ 'Type' => 'Intrinsic'
+ },
+ '2367' => {
+ 'Memb' => {
+ '0' => {
+ 'name' => '_flags',
+ 'offset' => '0',
+ 'type' => '87'
+ },
+ '1' => {
+ 'name' => '_IO_read_ptr',
+ 'offset' => '8',
+ 'type' => '132'
+ },
+ '10' => {
+ 'name' => '_IO_backup_base',
+ 'offset' => '80',
+ 'type' => '132'
},
- '1' => {
- 'name' => 'nb_tps',
- 'offset' => '4',
- 'type' => '9044'
+ '11' => {
+ 'name' => '_IO_save_end',
+ 'offset' => '88',
+ 'type' => '132'
},
- '2' => {
- 'name' => 'current_nb_tps',
- 'offset' => '8',
- 'type' => '9044'
+ '12' => {
+ 'name' => '_markers',
+ 'offset' => '96',
+ 'type' => '2783'
},
- '3' => {
- 'name' => 'current_tpsno',
- 'offset' => '12',
- 'type' => '9044'
+ '13' => {
+ 'name' => '_chain',
+ 'offset' => '104',
+ 'type' => '2789'
},
- '4' => {
- 'name' => 'tp_index',
- 'offset' => '16',
- 'type' => '80419'
+ '14' => {
+ 'name' => '_fileno',
+ 'offset' => '112',
+ 'type' => '87'
},
- '5' => {
- 'name' => 'marknum',
- 'offset' => '24',
- 'type' => '9044'
+ '15' => {
+ 'name' => '_flags2',
+ 'offset' => '116',
+ 'type' => '87'
},
- '6' => {
- 'name' => 'marker',
- 'offset' => '32',
- 'type' => '79367'
+ '16' => {
+ 'name' => '_old_offset',
+ 'offset' => '120',
+ 'type' => '106'
},
- '7' => {
- 'name' => 'maxmarknum',
- 'offset' => '40',
- 'type' => '9044'
+ '17' => {
+ 'name' => '_cur_column',
+ 'offset' => '128',
+ 'type' => '52'
},
- '8' => {
- 'name' => 'nb_packet',
- 'offset' => '44',
- 'type' => '9044'
+ '18' => {
+ 'name' => '_vtable_offset',
+ 'offset' => '130',
+ 'type' => '73'
},
- '9' => {
- 'name' => 'packet_index',
- 'offset' => '48',
- 'type' => '79361'
- }
- },
- 'Name' => 'struct opj_tile_index',
- 'Size' => '56',
- 'Type' => 'Struct'
- },
- '80419' => {
- 'BaseType' => '80263',
- 'Name' => 'opj_tp_index_t*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '80425' => {
- 'BaseType' => '80275',
- 'Header' => 'openjpeg.h',
- 'Line' => '1026',
- 'Name' => 'opj_tile_index_t',
- 'Size' => '56',
- 'Type' => 'Typedef'
- },
- '80437' => {
- 'Header' => 'openjpeg.h',
- 'Line' => '1031',
- 'Memb' => {
- '0' => {
- 'name' => 'main_head_start',
- 'offset' => '0',
- 'type' => '11218'
+ '19' => {
+ 'name' => '_shortbuf',
+ 'offset' => '131',
+ 'type' => '2795'
+ },
+ '2' => {
+ 'name' => '_IO_read_end',
+ 'offset' => '16',
+ 'type' => '132'
+ },
+ '20' => {
+ 'name' => '_lock',
+ 'offset' => '136',
+ 'type' => '2811'
+ },
+ '21' => {
+ 'name' => '_offset',
+ 'offset' => '144',
+ 'type' => '118'
},
- '1' => {
- 'name' => 'main_head_end',
- 'offset' => '8',
- 'type' => '11218'
+ '22' => {
+ 'name' => '_codecvt',
+ 'offset' => '152',
+ 'type' => '2822'
},
- '2' => {
- 'name' => 'codestream_size',
- 'offset' => '16',
- 'type' => '11207'
+ '23' => {
+ 'name' => '_wide_data',
+ 'offset' => '160',
+ 'type' => '2833'
},
- '3' => {
- 'name' => 'marknum',
- 'offset' => '24',
- 'type' => '9044'
+ '24' => {
+ 'name' => '_freeres_list',
+ 'offset' => '168',
+ 'type' => '2789'
},
- '4' => {
- 'name' => 'marker',
- 'offset' => '32',
- 'type' => '79367'
+ '25' => {
+ 'name' => '_freeres_buf',
+ 'offset' => '176',
+ 'type' => '130'
},
- '5' => {
- 'name' => 'maxmarknum',
- 'offset' => '40',
- 'type' => '9044'
+ '26' => {
+ 'name' => '__pad5',
+ 'offset' => '184',
+ 'type' => '150'
},
- '6' => {
- 'name' => 'nb_of_tiles',
- 'offset' => '44',
- 'type' => '9044'
+ '27' => {
+ 'name' => '_mode',
+ 'offset' => '192',
+ 'type' => '87'
},
- '7' => {
- 'name' => 'tile_index',
- 'offset' => '48',
- 'type' => '80555'
- }
- },
- 'Name' => 'struct opj_codestream_index',
- 'Size' => '56',
- 'Type' => 'Struct'
- },
- '80555' => {
- 'BaseType' => '80425',
- 'Name' => 'opj_tile_index_t*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '80561' => {
- 'BaseType' => '80437',
- 'Header' => 'openjpeg.h',
- 'Line' => '1054',
- 'Name' => 'opj_codestream_index_t',
- 'Size' => '56',
- 'Type' => 'Typedef'
- },
- '83562' => {
- 'BaseType' => '80561',
- 'Name' => 'opj_codestream_index_t*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '85808' => {
- 'BaseType' => '21106',
- 'Name' => 'opj_image_t**',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '85814' => {
- 'BaseType' => '78362',
- 'Name' => 'opj_dparameters_t*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '85826' => {
- 'BaseType' => '23240',
- 'Name' => 'OPJ_UINT32 const*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '85837' => {
- 'BaseType' => '78100',
- 'Name' => 'opj_cparameters_t*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '85843' => {
- 'BaseType' => '85849',
- 'Name' => 'char const*const*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '85849' => {
- 'BaseType' => '156',
- 'Name' => 'char const*const',
- 'Size' => '8',
- 'Type' => 'Const'
- },
- '85854' => {
- 'BaseType' => '75668',
- 'Name' => 'FILE*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '85860' => {
- 'BaseType' => '80198',
- 'Name' => 'opj_codestream_info_v2_t*',
+ '28' => {
+ 'name' => '_unused2',
+ 'offset' => '196',
+ 'type' => '2839'
+ },
+ '3' => {
+ 'name' => '_IO_read_base',
+ 'offset' => '24',
+ 'type' => '132'
+ },
+ '4' => {
+ 'name' => '_IO_write_base',
+ 'offset' => '32',
+ 'type' => '132'
+ },
+ '5' => {
+ 'name' => '_IO_write_ptr',
+ 'offset' => '40',
+ 'type' => '132'
+ },
+ '6' => {
+ 'name' => '_IO_write_end',
+ 'offset' => '48',
+ 'type' => '132'
+ },
+ '7' => {
+ 'name' => '_IO_buf_base',
+ 'offset' => '56',
+ 'type' => '132'
+ },
+ '8' => {
+ 'name' => '_IO_buf_end',
+ 'offset' => '64',
+ 'type' => '132'
+ },
+ '9' => {
+ 'name' => '_IO_save_base',
+ 'offset' => '72',
+ 'type' => '132'
+ }
+ },
+ 'Name' => 'struct _IO_FILE',
+ 'PrivateABI' => 1,
+ 'Size' => '216',
+ 'Source' => undef,
+ 'SourceLine' => '49',
+ 'Type' => 'Struct'
+ },
+ '25201' => {
+ 'BaseType' => '2937',
+ 'Name' => 'OPJ_BOOL*',
'Size' => '8',
'Type' => 'Pointer'
},
+ '2758' => {
+ 'BaseType' => '2367',
+ 'Name' => 'FILE',
+ 'Size' => '216',
+ 'Source' => undef,
+ 'SourceLine' => '7',
+ 'Type' => 'Typedef'
+ },
+ '2770' => {
+ 'Name' => '_IO_lock_t',
+ 'Source' => undef,
+ 'SourceLine' => '43',
+ 'Type' => 'Typedef'
+ },
+ '2778' => {
+ 'Name' => 'struct _IO_marker',
+ 'PrivateABI' => 1,
+ 'Type' => 'Struct'
+ },
+ '2783' => {
+ 'BaseType' => '2778',
+ 'Name' => 'struct _IO_marker*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2789' => {
+ 'BaseType' => '2367',
+ 'Name' => 'struct _IO_FILE*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2795' => {
+ 'BaseType' => '138',
+ 'Name' => 'char[1]',
+ 'Size' => '1',
+ 'Type' => 'Array'
+ },
+ '2811' => {
+ 'BaseType' => '2770',
+ 'Name' => '_IO_lock_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2817' => {
+ 'Name' => 'struct _IO_codecvt',
+ 'PrivateABI' => 1,
+ 'Type' => 'Struct'
+ },
+ '2822' => {
+ 'BaseType' => '2817',
+ 'Name' => 'struct _IO_codecvt*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2828' => {
+ 'Name' => 'struct _IO_wide_data',
+ 'PrivateABI' => 1,
+ 'Type' => 'Struct'
+ },
+ '2833' => {
+ 'BaseType' => '2828',
+ 'Name' => 'struct _IO_wide_data*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2839' => {
+ 'BaseType' => '138',
+ 'Name' => 'char[20]',
+ 'Size' => '20',
+ 'Type' => 'Array'
+ },
+ '2867' => {
+ 'BaseType' => '2758',
+ 'Name' => 'FILE*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2937' => {
+ 'BaseType' => '87',
+ 'Name' => 'OPJ_BOOL',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '116',
+ 'Type' => 'Typedef'
+ },
+ '294465' => {
+ 'Header' => 'openjpeg.h',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'OPJ_CODEC_UNKNOWN',
+ 'value' => '18446744073709551615 (-1)'
+ },
+ '1' => {
+ 'name' => 'OPJ_CODEC_J2K',
+ 'value' => '0'
+ },
+ '2' => {
+ 'name' => 'OPJ_CODEC_JPT',
+ 'value' => '1'
+ },
+ '3' => {
+ 'name' => 'OPJ_CODEC_JP2',
+ 'value' => '2'
+ },
+ '4' => {
+ 'name' => 'OPJ_CODEC_JPP',
+ 'value' => '3'
+ },
+ '5' => {
+ 'name' => 'OPJ_CODEC_JPX',
+ 'value' => '4'
+ }
+ },
+ 'Name' => 'enum CODEC_FORMAT',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '328',
+ 'Type' => 'Enum'
+ },
+ '294521' => {
+ 'BaseType' => '294465',
+ 'Name' => 'OPJ_CODEC_FORMAT',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '335',
+ 'Type' => 'Typedef'
+ },
+ '296399' => {
+ 'BaseType' => '130',
+ 'Name' => 'opj_codec_t',
+ 'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '618',
+ 'Type' => 'Typedef'
+ },
+ '300426' => {
+ 'BaseType' => '127977',
+ 'Name' => 'opj_codestream_index_t**',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '300528' => {
+ 'BaseType' => '296399',
+ 'Name' => 'opj_codec_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '300619' => {
+ 'BaseType' => '130441',
+ 'Name' => 'opj_codestream_info_v2_t**',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '45' => {
+ 'Name' => 'unsigned char',
+ 'Size' => '1',
+ 'Type' => 'Intrinsic'
+ },
+ '52' => {
+ 'Name' => 'unsigned short',
+ 'Size' => '2',
+ 'Type' => 'Intrinsic'
+ },
+ '59' => {
+ 'Name' => 'unsigned int',
+ 'Size' => '4',
+ 'Type' => 'Intrinsic'
+ },
+ '66' => {
+ 'Name' => 'unsigned long',
+ 'Size' => '8',
+ 'Type' => 'Intrinsic'
+ },
+ '73' => {
+ 'Name' => 'signed char',
+ 'Size' => '1',
+ 'Type' => 'Intrinsic'
+ },
+ '8647' => {
+ 'BaseType' => '87',
+ 'Name' => '__int32_t',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '41',
+ 'Type' => 'Typedef'
+ },
+ '8659' => {
+ 'BaseType' => '59',
+ 'Name' => '__uint32_t',
+ 'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '42',
+ 'Type' => 'Typedef'
+ },
'87' => {
'Name' => 'int',
'Size' => '4',
'Type' => 'Intrinsic'
},
- '9000' => {
+ '9335' => {
'BaseType' => '45',
- 'Header' => 'openjpeg.h',
- 'Line' => '117',
'Name' => 'OPJ_BYTE',
'Size' => '1',
+ 'Source' => undef,
+ 'SourceLine' => '123',
'Type' => 'Typedef'
},
- '9011' => {
- 'BaseType' => '87',
- 'Header' => 'stdint.h',
- 'Line' => '38',
+ '9347' => {
+ 'BaseType' => '8647',
'Name' => 'int32_t',
'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '26',
'Type' => 'Typedef'
},
- '9022' => {
- 'BaseType' => '59',
- 'Header' => 'stdint.h',
- 'Line' => '51',
+ '9359' => {
+ 'BaseType' => '8659',
'Name' => 'uint32_t',
'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '26',
'Type' => 'Typedef'
},
- '9033' => {
- 'BaseType' => '9011',
- 'Header' => 'openjpeg.h',
- 'Line' => '125',
+ '9371' => {
+ 'BaseType' => '9347',
'Name' => 'OPJ_INT32',
'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '131',
'Type' => 'Typedef'
},
- '9044' => {
- 'BaseType' => '9022',
- 'Header' => 'openjpeg.h',
- 'Line' => '126',
+ '9383' => {
+ 'BaseType' => '9359',
'Name' => 'OPJ_UINT32',
'Size' => '4',
+ 'Source' => undef,
+ 'SourceLine' => '132',
'Type' => 'Typedef'
},
- '9055' => {
- 'BaseType' => '145',
- 'Header' => 'openjpeg.h',
- 'Line' => '133',
+ '9395' => {
+ 'BaseType' => '150',
'Name' => 'OPJ_SIZE_T',
'Size' => '8',
+ 'Source' => undef,
+ 'SourceLine' => '139',
'Type' => 'Typedef'
},
- '9066' => {
- 'BaseType' => '9000',
+ '9407' => {
+ 'BaseType' => '9335',
'Name' => 'OPJ_BYTE*',
'Size' => '8',
'Type' => 'Pointer'
},
- '94' => {
+ '962' => {
+ 'Name' => 'void(*)(void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '130'
+ }
+ },
+ 'Return' => '1',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '99' => {
'Name' => 'long',
'Size' => '8',
'Type' => 'Intrinsic'
'libopenjp2.so.2.5.0' => {
'_ITM_deregisterTMCloneTable' => 0,
'_ITM_registerTMCloneTable' => 0,
- '_Jv_RegisterClasses' => 0,
'__assert_fail@GLIBC_2.2.5' => 0,
'__cxa_finalize@GLIBC_2.2.5' => 0,
'__fprintf_chk@GLIBC_2.3.4' => 0,
'__stack_chk_fail@GLIBC_2.4' => 0,
'__vsnprintf_chk@GLIBC_2.3.4' => 0,
'calloc@GLIBC_2.2.5' => 0,
- 'ceilf@GLIBC_2.2.5' => 0,
'fclose@GLIBC_2.2.5' => 0,
- 'floor@GLIBC_2.2.5' => 0,
- 'floorf@GLIBC_2.2.5' => 0,
'fopen@GLIBC_2.2.5' => 0,
'fputc@GLIBC_2.2.5' => 0,
'fread@GLIBC_2.2.5' => 0,
'memmove@GLIBC_2.2.5' => 0,
'memset@GLIBC_2.2.5' => 0,
'posix_memalign@GLIBC_2.2.5' => 0,
- 'pow@GLIBC_2.2.5' => 0,
+ 'pow@GLIBC_2.29' => 0,
'pthread_attr_init@GLIBC_2.2.5' => 0,
'pthread_attr_setdetachstate@GLIBC_2.2.5' => 0,
'pthread_cond_destroy@GLIBC_2.3.2' => 0,
{
"Object": "lib/libopenjp2.so.2.5.0",
"Lang": "C",
- "TotalSymbols": "50",
+ "TotalSymbols": "51",
"PublicABI": "1",
"Version": "1.7"
}
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="keywords" content="OpenJPEG, 2.4.0, changes, changelog" />
+ <meta name="description" content="Log of changes in the package" />
+ <link rel="stylesheet" type="text/css" href="../../../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../../../css/changelog.css" />
+
+
+ <title>
+ OpenJPEG 2.4.0: changelog
+ </title>
+
+ </head>
+
+<body>
+<table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Changelog for <span class='version'>2.4.0</span> version</h1><br/><br/>
+<div class='changelog'>
+<pre class='wrap'># Changelog
+
+## [v2.4.0](https://github.com/uclouvain/openjpeg/releases/v2.4.0) (2020-12-28)
+
+[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.3.1...v2.4.0)
+
+**Closed issues:**
+
+- OPENJPEG\_INSTALL\_DOC\_DIR does not control a destination directory where HTML docs would be installed. [\#1309](https://github.com/uclouvain/openjpeg/issues/1309)
+- Heap-buffer-overflow in lib/openjp2/pi.c:312 [\#1302](https://github.com/uclouvain/openjpeg/issues/1302)
+- Heap-buffer-overflow in lib/openjp2/t2.c:973 [\#1299](https://github.com/uclouvain/openjpeg/issues/1299)
+- Heap-buffer-overflow in lib/openjp2/pi.c:623 [\#1293](https://github.com/uclouvain/openjpeg/issues/1293)
+- Global-buffer-overflow in lib/openjp2/dwt.c:1980 [\#1286](https://github.com/uclouvain/openjpeg/issues/1286)
+- Heap-buffer-overflow in lib/openjp2/tcd.c:2417 [\#1284](https://github.com/uclouvain/openjpeg/issues/1284)
+- Heap-buffer-overflow in lib/openjp2/mqc.c:499 [\#1283](https://github.com/uclouvain/openjpeg/issues/1283)
+- Openjpeg could not encode 32bit RGB float image [\#1281](https://github.com/uclouvain/openjpeg/issues/1281)
+- Openjpeg could not encode 32bit RGB float image [\#1280](https://github.com/uclouvain/openjpeg/issues/1280)
+- ISO/IEC 15444-1:2019 \(E\) compared with 'cio.h' [\#1277](https://github.com/uclouvain/openjpeg/issues/1277)
+- Test-suite failure due to hash mismatch [\#1264](https://github.com/uclouvain/openjpeg/issues/1264)
+- Heap use-after-free [\#1261](https://github.com/uclouvain/openjpeg/issues/1261)
+- Memory leak when failing to allocate object... [\#1259](https://github.com/uclouvain/openjpeg/issues/1259)
+- Memory leak of Tier 1 handle when OpenJPEG fails to set it as TLS... [\#1257](https://github.com/uclouvain/openjpeg/issues/1257)
+- Any plan to build release for CVE-2020-8112/CVE-2020-6851 [\#1247](https://github.com/uclouvain/openjpeg/issues/1247)
+- failing to convert 16-bit file: opj\_t2\_encode\_packet\(\): only 5251 bytes remaining in output buffer. 5621 needed. [\#1243](https://github.com/uclouvain/openjpeg/issues/1243)
+- CMake+VS2017 Compile OK, thirdparty Compile OK, but thirdparty not install [\#1239](https://github.com/uclouvain/openjpeg/issues/1239)
+- New release to solve CVE-2019-6988 ? [\#1238](https://github.com/uclouvain/openjpeg/issues/1238)
+- Many tests fail to pass after the update of libtiff to version 4.1.0 [\#1233](https://github.com/uclouvain/openjpeg/issues/1233)
+- Another heap buffer overflow in libopenjp2 [\#1231](https://github.com/uclouvain/openjpeg/issues/1231)
+- Heap buffer overflow in libopenjp2 [\#1228](https://github.com/uclouvain/openjpeg/issues/1228)
+- Endianness of binary volume \(JP3D\) [\#1224](https://github.com/uclouvain/openjpeg/issues/1224)
+- New release to resolve CVE-2019-12973 [\#1222](https://github.com/uclouvain/openjpeg/issues/1222)
+- how to set the block size,like 128,256 ? [\#1216](https://github.com/uclouvain/openjpeg/issues/1216)
+- compress YUV files to motion jpeg2000 standard [\#1213](https://github.com/uclouvain/openjpeg/issues/1213)
+- Repair/update Java wrapper, and include in release [\#1208](https://github.com/uclouvain/openjpeg/issues/1208)
+- abc [\#1206](https://github.com/uclouvain/openjpeg/issues/1206)
+- Slow decoding [\#1202](https://github.com/uclouvain/openjpeg/issues/1202)
+- Installation question [\#1201](https://github.com/uclouvain/openjpeg/issues/1201)
+- Typo in test\_decode\_area - \*ptilew is assigned instead of \*ptileh [\#1195](https://github.com/uclouvain/openjpeg/issues/1195)
+- Creating a J2K file with one POC is broken [\#1191](https://github.com/uclouvain/openjpeg/issues/1191)
+- Make fails on Arch Linux [\#1174](https://github.com/uclouvain/openjpeg/issues/1174)
+- Heap buffer overflow in opj\_t1\_clbl\_decode\_processor\(\) triggered with Ghostscript [\#1158](https://github.com/uclouvain/openjpeg/issues/1158)
+- opj\_stream\_get\_number\_byte\_left: Assertion `p\_stream-\>m\_byte\_offset \>= 0' failed. [\#1151](https://github.com/uclouvain/openjpeg/issues/1151)
+- The fuzzer ignores too many inputs [\#1079](https://github.com/uclouvain/openjpeg/issues/1079)
+- out of bounds read [\#1068](https://github.com/uclouvain/openjpeg/issues/1068)
+
+**Merged pull requests:**
+
+- Change defined WIN32 [\#1310](https://github.com/uclouvain/openjpeg/pull/1310) ([Jamaika1](https://github.com/Jamaika1))
+- docs: fix simple typo, producted -\> produced [\#1308](https://github.com/uclouvain/openjpeg/pull/1308) ([timgates42](https://github.com/timgates42))
+- Set ${OPENJPEG\_INSTALL\_DOC\_DIR} to DESTINATION of HTMLs [\#1307](https://github.com/uclouvain/openjpeg/pull/1307) ([lemniscati](https://github.com/lemniscati))
+- Use INC\_DIR for OPENJPEG\_INCLUDE\_DIRS \(fixes uclouvain\#1174\) [\#1306](https://github.com/uclouvain/openjpeg/pull/1306) ([matthew-sharp](https://github.com/matthew-sharp))
+- pi.c: avoid out of bounds access with POC \(fixes \#1302\) [\#1304](https://github.com/uclouvain/openjpeg/pull/1304) ([rouault](https://github.com/rouault))
+- Encoder: grow again buffer size [\#1303](https://github.com/uclouvain/openjpeg/pull/1303) ([zodf0055980](https://github.com/zodf0055980))
+- opj\_j2k\_write\_sod\(\): avoid potential heap buffer overflow \(fixes \#1299\) \(probably master only\) [\#1301](https://github.com/uclouvain/openjpeg/pull/1301) ([rouault](https://github.com/rouault))
+- pi.c: avoid out of bounds access with POC \(refs https://github.com/uclouvain/openjpeg/issues/1293\#issuecomment-737122836\) [\#1300](https://github.com/uclouvain/openjpeg/pull/1300) ([rouault](https://github.com/rouault))
+- opj\_t2\_encode\_packet\(\): avoid out of bound access of \#1297, but likely not the proper fix [\#1298](https://github.com/uclouvain/openjpeg/pull/1298) ([rouault](https://github.com/rouault))
+- opj\_t2\_encode\_packet\(\): avoid out of bound access of \#1294, but likely not the proper fix [\#1296](https://github.com/uclouvain/openjpeg/pull/1296) ([rouault](https://github.com/rouault))
+- opj\_j2k\_setup\_encoder\(\): validate POC compno0 and compno1 \(fixes \#1293\) [\#1295](https://github.com/uclouvain/openjpeg/pull/1295) ([rouault](https://github.com/rouault))
+- Encoder: avoid global buffer overflow on irreversible conversion when… [\#1292](https://github.com/uclouvain/openjpeg/pull/1292) ([rouault](https://github.com/rouault))
+- Decoding: deal with some SPOT6 images that have tiles with a single tile-part with TPsot == 0 and TNsot == 0, and with missing EOC [\#1291](https://github.com/uclouvain/openjpeg/pull/1291) ([rouault](https://github.com/rouault))
+- Free p\_tcd\_marker\_info to avoid memory leak [\#1288](https://github.com/uclouvain/openjpeg/pull/1288) ([zodf0055980](https://github.com/zodf0055980))
+- Encoder: grow again buffer size [\#1287](https://github.com/uclouvain/openjpeg/pull/1287) ([zodf0055980](https://github.com/zodf0055980))
+- Encoder: avoid uint32 overflow when allocating memory for codestream buffer \(fixes \#1243\) [\#1276](https://github.com/uclouvain/openjpeg/pull/1276) ([rouault](https://github.com/rouault))
+- Java compatibility from 1.5 to 1.6 [\#1263](https://github.com/uclouvain/openjpeg/pull/1263) ([jiapei100](https://github.com/jiapei100))
+- opj\_decompress: fix double-free on input directory with mix of valid and invalid images [\#1262](https://github.com/uclouvain/openjpeg/pull/1262) ([rouault](https://github.com/rouault))
+- openjp2: Plug image leak when failing to allocate codestream index. [\#1260](https://github.com/uclouvain/openjpeg/pull/1260) ([sebras](https://github.com/sebras))
+- openjp2: Plug memory leak when setting data as TLS fails. [\#1258](https://github.com/uclouvain/openjpeg/pull/1258) ([sebras](https://github.com/sebras))
+- openjp2: Error out if failing to create Tier 1 handle. [\#1256](https://github.com/uclouvain/openjpeg/pull/1256) ([sebras](https://github.com/sebras))
+- Testing for invalid values of width, height, numcomps [\#1254](https://github.com/uclouvain/openjpeg/pull/1254) ([szukw000](https://github.com/szukw000))
+- Single-threaded performance improvements in forward DWT for 5-3 and 9-7 \(and other improvements\) [\#1253](https://github.com/uclouvain/openjpeg/pull/1253) ([rouault](https://github.com/rouault))
+- Add support for multithreading in encoder [\#1248](https://github.com/uclouvain/openjpeg/pull/1248) ([rouault](https://github.com/rouault))
+- Add support for generation of PLT markers in encoder [\#1246](https://github.com/uclouvain/openjpeg/pull/1246) ([rouault](https://github.com/rouault))
+- Fix warnings about signed/unsigned casts in pi.c [\#1244](https://github.com/uclouvain/openjpeg/pull/1244) ([rouault](https://github.com/rouault))
+- opj\_decompress: add sanity checks to avoid segfault in case of decoding error [\#1240](https://github.com/uclouvain/openjpeg/pull/1240) ([rouault](https://github.com/rouault))
+- ignore wrong icc [\#1236](https://github.com/uclouvain/openjpeg/pull/1236) ([szukw000](https://github.com/szukw000))
+- Implement writing of IMF profiles [\#1235](https://github.com/uclouvain/openjpeg/pull/1235) ([rouault](https://github.com/rouault))
+- tests: add alternate checksums for libtiff 4.1 [\#1234](https://github.com/uclouvain/openjpeg/pull/1234) ([rouault](https://github.com/rouault))
+- opj\_tcd\_init\_tile\(\): avoid integer overflow [\#1232](https://github.com/uclouvain/openjpeg/pull/1232) ([rouault](https://github.com/rouault))
+- tests/fuzzers: link fuzz binaries using $LIB\_FUZZING\_ENGINE. [\#1230](https://github.com/uclouvain/openjpeg/pull/1230) ([Dor1s](https://github.com/Dor1s))
+- opj\_j2k\_update\_image\_dimensions\(\): reject images whose coordinates are beyond INT\_MAX \(fixes \#1228\) [\#1229](https://github.com/uclouvain/openjpeg/pull/1229) ([rouault](https://github.com/rouault))
+- Fix resource leaks [\#1226](https://github.com/uclouvain/openjpeg/pull/1226) ([dodys](https://github.com/dodys))
+- abi-check.sh: fix false postive ABI error, and display output error log [\#1218](https://github.com/uclouvain/openjpeg/pull/1218) ([rouault](https://github.com/rouault))
+- pi.c: avoid integer overflow, resulting in later invalid access to memory in opj\_t2\_decode\_packets\(\) [\#1217](https://github.com/uclouvain/openjpeg/pull/1217) ([rouault](https://github.com/rouault))
+- Add check to validate SGcod/SPcoc/SPcod parameter values. [\#1211](https://github.com/uclouvain/openjpeg/pull/1211) ([sebras](https://github.com/sebras))
+- Fix buffer overflow reading an image file less than four characters [\#1196](https://github.com/uclouvain/openjpeg/pull/1196) ([robert-ancell](https://github.com/robert-ancell))
+- compression: emit POC marker when only one single POC is requested \(f… [\#1192](https://github.com/uclouvain/openjpeg/pull/1192) ([rouault](https://github.com/rouault))
+- Fix several potential vulnerabilities [\#1185](https://github.com/uclouvain/openjpeg/pull/1185) ([Young-X](https://github.com/Young-X))
+- openjp2/j2k: Report error if all wanted components are not decoded. [\#1164](https://github.com/uclouvain/openjpeg/pull/1164) ([sebras](https://github.com/sebras))
+
+## [v2.3.1](https://github.com/uclouvain/openjpeg/releases/v2.3.1) (2019-04-02)
+[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.3.0...v2.3.1)
+
+**Closed issues:**
+
+- v2.2.0 regression for decoding images where TNsot == 0 [\#1120](https://github.com/uclouvain/openjpeg/issues/1120)
+- Int overflow in jp3d [\#1162](https://github.com/uclouvain/openjpeg/issues/1162)
+- Heap buffer overflow in opj\_j2k\_update\_image\_data\(\) triggered with Ghostscript [\#1157](https://github.com/uclouvain/openjpeg/issues/1157)
+- LINUX install doesn't work when building shared libraries is disabled [\#1155](https://github.com/uclouvain/openjpeg/issues/1155)
+- OPENJPEG null ptr dereference in openjpeg-2.3.0/src/bin/jp2/convert.c:2243 [\#1152](https://github.com/uclouvain/openjpeg/issues/1152)
+- How to drop certain subbands/layers in DWT [\#1147](https://github.com/uclouvain/openjpeg/issues/1147)
+- where is the MQ-Coder ouput stream in t2.c? [\#1146](https://github.com/uclouvain/openjpeg/issues/1146)
+- OpenJPEG 2.3 \(and 2.2?\) multi component image fails to decode with KDU v7.10 [\#1132](https://github.com/uclouvain/openjpeg/issues/1132)
+- Missing checks for header\_info.height and header\_info.width in function pnmtoimage in src/bin/jpwl/convert.c, which can lead to heap buffer overflow [\#1126](https://github.com/uclouvain/openjpeg/issues/1126)
+- Assertion Failure in jp2.c [\#1125](https://github.com/uclouvain/openjpeg/issues/1125)
+- Division-by-zero vulnerabilities in the function pi\_next\_pcrl, pi\_next\_cprl and pi\_next\_rpcl in src/lib/openjp3d/pi.c [\#1123](https://github.com/uclouvain/openjpeg/issues/1123)
+- Precinct switch \(-c\) doesn't right-shift last record to remaining resolution levels [\#1117](https://github.com/uclouvain/openjpeg/issues/1117)
+- Sample: encode J2K a data using streams??? [\#1114](https://github.com/uclouvain/openjpeg/issues/1114)
+- HIGH THROUGHPUT JPEG 2000 \(HTJ2K\) [\#1112](https://github.com/uclouvain/openjpeg/issues/1112)
+- How to build openjpeg for arm linux? [\#1108](https://github.com/uclouvain/openjpeg/issues/1108)
+- crash [\#1106](https://github.com/uclouvain/openjpeg/issues/1106)
+- JP2000 returning OPJ\_CLRSPC\_UNKNOWN color space [\#1103](https://github.com/uclouvain/openjpeg/issues/1103)
+- Compilation successful but install unsuccessful: Calling executables throws libraries missing error [\#1102](https://github.com/uclouvain/openjpeg/issues/1102)
+- fprintf format string requires 1 parameter but only 0 are given [\#1093](https://github.com/uclouvain/openjpeg/issues/1093)
+- fprintf format string requires 1 parameter but only 0 are given [\#1092](https://github.com/uclouvain/openjpeg/issues/1092)
+- sprintf buffer overflow [\#1088](https://github.com/uclouvain/openjpeg/issues/1088)
+- sprintf buffer overflow [\#1085](https://github.com/uclouvain/openjpeg/issues/1085)
+- Infinite loop when reading jp2 [\#1081](https://github.com/uclouvain/openjpeg/issues/1081)
+- missing format string parameter [\#1074](https://github.com/uclouvain/openjpeg/issues/1074)
+- Excessive Iteration in opj\_t1\_encode\_cblks \(src/lib/openjp2/t1.c\) [\#1059](https://github.com/uclouvain/openjpeg/issues/1059)
+- Out-of-bound left shift in opj\_j2k\_setup\_encoder \(src/lib/openjp2/j2k.c\) [\#1057](https://github.com/uclouvain/openjpeg/issues/1057)
+- Encode image on Unsplash [\#1054](https://github.com/uclouvain/openjpeg/issues/1054)
+- Integer overflow in opj\_t1\_encode\_cblks \(src/lib/openjp2/t1.c\) [\#1053](https://github.com/uclouvain/openjpeg/issues/1053)
+- Signed Integer Overflow - 68065512 [\#1048](https://github.com/uclouvain/openjpeg/issues/1048)
+- Similar vulnerable functions related to CVE-2017-14041 [\#1044](https://github.com/uclouvain/openjpeg/issues/1044)
+- \[ERROR\] COD marker already read. No more than one COD marker per tile. [\#1043](https://github.com/uclouvain/openjpeg/issues/1043)
+- failing to install latest version of openjpeg from source [\#1041](https://github.com/uclouvain/openjpeg/issues/1041)
+- Trouble compressing large raw image [\#1032](https://github.com/uclouvain/openjpeg/issues/1032)
+- Download and installed code from 2.3 archive. Installing 2.2? [\#1030](https://github.com/uclouvain/openjpeg/issues/1030)
+- missing fclose [\#1029](https://github.com/uclouvain/openjpeg/issues/1029)
+- NULL Pointer Access in function imagetopnm of convert.c\(jp2\):1289 [\#860](https://github.com/uclouvain/openjpeg/issues/860)
+- NULL Pointer Access in function imagetopnm of convert.c:2226\(jp2\) [\#859](https://github.com/uclouvain/openjpeg/issues/859)
+- Heap Buffer Overflow in function imagetotga of convert.c\(jp2\):942 [\#858](https://github.com/uclouvain/openjpeg/issues/858)
+
+**Merged pull requests:**
+
+- abi-check.sh: fix broken download URL [\#1188](https://github.com/uclouvain/openjpeg/pull/1188) ([rouault](https://github.com/rouault))
+- opj\_t1\_encode\_cblks: fix UBSAN signed integer overflow [\#1187](https://github.com/uclouvain/openjpeg/pull/1187) ([rouault](https://github.com/rouault))
+- convertbmp: detect invalid file dimensions early \(CVE-2018-6616\) [\#1172](https://github.com/uclouvain/openjpeg/pull/1172) ([hlef](https://github.com/hlef))
+- color\_apply\_icc\_profile: avoid potential heap buffer overflow [\#1170](https://github.com/uclouvain/openjpeg/pull/1170) ([rouault](https://github.com/rouault))
+- Fix multiple potential vulnerabilities and bugs [\#1168](https://github.com/uclouvain/openjpeg/pull/1168) ([Young-X](https://github.com/Young-X))
+- Fix several memory and resource leaks [\#1163](https://github.com/uclouvain/openjpeg/pull/1163) ([nforro](https://github.com/nforro))
+- Fix some potential overflow issues [\#1161](https://github.com/uclouvain/openjpeg/pull/1161) ([stweil](https://github.com/stweil))
+- jp3d/jpwl convert: fix write stack buffer overflow [\#1160](https://github.com/uclouvain/openjpeg/pull/1160) ([hlef](https://github.com/hlef))
+- Int overflow fixed [\#1159](https://github.com/uclouvain/openjpeg/pull/1159) ([ichlubna](https://github.com/ichlubna))
+- Update knownfailures- files given current configurations [\#1149](https://github.com/uclouvain/openjpeg/pull/1149) ([rouault](https://github.com/rouault))
+- CVE-2018-5785: fix issues with zero bitmasks [\#1148](https://github.com/uclouvain/openjpeg/pull/1148) ([hlef](https://github.com/hlef))
+- openjp2/jp2: Fix two format strings [\#1143](https://github.com/uclouvain/openjpeg/pull/1143) ([stweil](https://github.com/stweil))
+- Changes in pnmtoimage if image data are missing [\#1141](https://github.com/uclouvain/openjpeg/pull/1141) ([szukw000](https://github.com/szukw000))
+- Relative path to header files is hardcoded in OpenJPEGConfig.cmake.in file [\#1140](https://github.com/uclouvain/openjpeg/pull/1140) ([bukatlib](https://github.com/bukatlib))
+- Cast on uint ceildiv [\#1136](https://github.com/uclouvain/openjpeg/pull/1136) ([reverson](https://github.com/reverson))
+- Add -DBUILD\_PKGCONFIG\_FILES to install instructions [\#1133](https://github.com/uclouvain/openjpeg/pull/1133) ([robe2](https://github.com/robe2))
+- Fix some typos in code comments and documentation [\#1128](https://github.com/uclouvain/openjpeg/pull/1128) ([stweil](https://github.com/stweil))
+- Fix regression in reading files with TNsot == 0 \(refs \#1120\) [\#1121](https://github.com/uclouvain/openjpeg/pull/1121) ([rouault](https://github.com/rouault))
+- Use local type declaration for POSIX standard type only for MS compiler [\#1119](https://github.com/uclouvain/openjpeg/pull/1119) ([stweil](https://github.com/stweil))
+- Fix Mac builds [\#1104](https://github.com/uclouvain/openjpeg/pull/1104) ([rouault](https://github.com/rouault))
+- jp3d: Replace sprintf\(\) by snprintf\(\) in volumetobin\(\) [\#1101](https://github.com/uclouvain/openjpeg/pull/1101) ([kbabioch](https://github.com/kbabioch))
+- opj\_mj2\_extract: Rename output\_location to output\_prefix [\#1096](https://github.com/uclouvain/openjpeg/pull/1096) ([kbabioch](https://github.com/kbabioch))
+- mj2: Add missing variable to format string in fprintf\(\) invocation in meta\_out.c [\#1094](https://github.com/uclouvain/openjpeg/pull/1094) ([kbabioch](https://github.com/kbabioch))
+- Convert files to UTF-8 encoding [\#1090](https://github.com/uclouvain/openjpeg/pull/1090) ([stweil](https://github.com/stweil))
+- fix unchecked integer multiplication overflow [\#1080](https://github.com/uclouvain/openjpeg/pull/1080) ([setharnold](https://github.com/setharnold))
+- Fixed typos [\#1062](https://github.com/uclouvain/openjpeg/pull/1062) ([radarhere](https://github.com/radarhere))
+- Note that seek uses SEEK\_SET behavior. [\#1055](https://github.com/uclouvain/openjpeg/pull/1055) ([ideasman42](https://github.com/ideasman42))
+- Some Doxygen tags are removed [\#1050](https://github.com/uclouvain/openjpeg/pull/1050) ([szukw000](https://github.com/szukw000))
+- Fix resource leak \(CID 179466\) [\#1047](https://github.com/uclouvain/openjpeg/pull/1047) ([stweil](https://github.com/stweil))
+- Changed cmake version test to allow for cmake 2.8.11.x [\#1042](https://github.com/uclouvain/openjpeg/pull/1042) ([radarhere](https://github.com/radarhere))
+- Add missing fclose\(\) statement in error condition. [\#1037](https://github.com/uclouvain/openjpeg/pull/1037) ([gfiumara](https://github.com/gfiumara))
+
+## [v2.3.0](https://github.com/uclouvain/openjpeg/releases/v2.3.0) (2017-10-04)
+[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.2.0...v2.3.0)
+
+**Implemented enhancements:**
+
+- Sub-tile decoding: only decode precincts and codeblocks that intersect the window specified in opj_set_decode_area() [\#990](https://github.com/uclouvain/openjpeg/pull/990) ([rouault](https://github.com/rouault))
+- Sub-tile decoding: only apply IDWT on areas that participate to the window of interest [\#1001](https://github.com/uclouvain/openjpeg/pull/1001) ([rouault](https://github.com/rouault))
+- Sub-tile decoding: memory use reduction and perf improvements [\#1010](https://github.com/uclouvain/openjpeg/pull/1010) ([rouault](https://github.com/rouault))
+- Add capability to decode only a subset of all components of an image. [\#1022](https://github.com/uclouvain/openjpeg/pull/1022) ([rouault](https://github.com/rouault))
+
+**Fixed bugs:**
+
+- Setting x offset of decode region to -1 causes opj\_decompress to go into infinite loop [\#736](https://github.com/uclouvain/openjpeg/issues/736)
+- Problem decoding multiple tiles with get\_decoded\_tile when cmap/pclr/cdef boxes are present in jp2 file [\#484](https://github.com/uclouvain/openjpeg/issues/484)
+- set reduce\_factor\_may\_fail [\#474](https://github.com/uclouvain/openjpeg/issues/474)
+- opj\_compress.exe, command line parser, infinite loop [\#469](https://github.com/uclouvain/openjpeg/issues/469)
+- Various memory access issues found via fuzzing [\#448](https://github.com/uclouvain/openjpeg/issues/448)
+- Multiple warnings when building OpenJPEG \(trunk\) [\#442](https://github.com/uclouvain/openjpeg/issues/442)
+- Bulk fuzz-testing report [\#427](https://github.com/uclouvain/openjpeg/issues/427)
+- remove all printf from openjpeg / use proper function pointer for logging [\#371](https://github.com/uclouvain/openjpeg/issues/371)
+- minor changes, clean-up [\#349](https://github.com/uclouvain/openjpeg/issues/349)
+- image-\>numcomps \> 4 [\#333](https://github.com/uclouvain/openjpeg/issues/333)
+- Improve support for region of interest [\#39](https://github.com/uclouvain/openjpeg/issues/39)
+- Public function to tell kernel type used \(5x3 vs 9x7\) [\#3](https://github.com/uclouvain/openjpeg/issues/3)
+- elf binary in source package ? [\#1026](https://github.com/uclouvain/openjpeg/issues/1026)
+- opj\_cio\_open [\#1025](https://github.com/uclouvain/openjpeg/issues/1025)
+- Building with Visual Studio 2015 [\#1023](https://github.com/uclouvain/openjpeg/issues/1023)
+- tcd.cpp\>:1617:33: error: assigning to 'OPJ\_INT32 \*' \(aka 'int \*'\) from incompatible type 'void \*' [\#1021](https://github.com/uclouvain/openjpeg/issues/1021)
+- j2k.cpp \> comparison of address of 'p\_j2k-\>m\_cp.tcps\[0\].m\_data' not equal to a null pointer is always true [\#1020](https://github.com/uclouvain/openjpeg/issues/1020)
+- Openjpeg 2.2.0 always build shared library even though -DBUILD\_SHARED\_LIBS:bool=off [\#1019](https://github.com/uclouvain/openjpeg/issues/1019)
+- missing fclose [\#1018](https://github.com/uclouvain/openjpeg/issues/1018)
+- Use opj\_image\_data\_free instead of opj\_free for image-\>comps\[\].data [\#1014](https://github.com/uclouvain/openjpeg/issues/1014)
+- malloc poison on some compilers - cross compiling [\#1013](https://github.com/uclouvain/openjpeg/issues/1013)
+- Add OPJ\_VERSION\_MAJOR, OPJ\_VERSION\_MINOR, OPJ\_VERSION\_MICRO macros in openjpeg.h [\#1011](https://github.com/uclouvain/openjpeg/issues/1011)
+- Encode: do not perform rate control for single-tile lossless [\#1009](https://github.com/uclouvain/openjpeg/issues/1009)
+- opj\_set\_decoded\_resolution\_factor\(\): bad interaction with opj\_set\_decode\_area\(\) and/or opj\_decode\(\) [\#1006](https://github.com/uclouvain/openjpeg/issues/1006)
+- memory allocation failure with .pgx file [\#999](https://github.com/uclouvain/openjpeg/issues/999)
+- Unable to fuzz with raw image as input [\#998](https://github.com/uclouvain/openjpeg/issues/998)
+- stack-based buffer overflow write in pgxtoimage \(/convert.c\) [\#997](https://github.com/uclouvain/openjpeg/issues/997)
+- freeze with a crafted bmp [\#996](https://github.com/uclouvain/openjpeg/issues/996)
+- invalid memory write in tgatoimage \(convert.c\) [\#995](https://github.com/uclouvain/openjpeg/issues/995)
+- static build on Windows fails [\#994](https://github.com/uclouvain/openjpeg/issues/994)
+- another heap-based buffer overflow in opj\_t2\_encode\_packet \(t2.c\) [\#993](https://github.com/uclouvain/openjpeg/issues/993)
+- heap-based buffer overflow in opj\_t2\_encode\_packet \(t2.c\) [\#992](https://github.com/uclouvain/openjpeg/issues/992)
+- heap-based buf
+...</pre></div>
+
+</body>
+</html>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="keywords" content="OpenJPEG, 2.5.0, changes, changelog" />
+ <meta name="description" content="Log of changes in the package" />
+ <link rel="stylesheet" type="text/css" href="../../../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../../../css/changelog.css" />
+
+
+ <title>
+ OpenJPEG 2.5.0: changelog
+ </title>
+
+ </head>
+
+<body>
+<table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Changelog for <span class='version'>2.5.0</span> version</h1><br/><br/>
+<div class='changelog'>
+<pre class='wrap'># Changelog
+
+## [v2.5.0](https://github.com/uclouvain/openjpeg/releases/v2.5.0) (2022-05-13)
+
+[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.4.0...v2.5.0)
+
+**Merged pull requests:**
+
+- tools/travis-ci/install.sh: git clone with https:// to fix 'The unaut… [\#1419](https://github.com/uclouvain/openjpeg/pull/1419) ([rouault](https://github.com/rouault))
+- Java Support 1.8 now... [\#1418](https://github.com/uclouvain/openjpeg/pull/1418) ([jiapei100](https://github.com/jiapei100))
+- Separate fuzz targets to increase coverage [\#1416](https://github.com/uclouvain/openjpeg/pull/1416) ([Navidem](https://github.com/Navidem))
+- CMakeLists.txt: do not set INSTALL\_NAME\_DIR for MacOS builds for CMake \>= 3.0 \(fixes \#1404\) [\#1410](https://github.com/uclouvain/openjpeg/pull/1410) ([rouault](https://github.com/rouault))
+- Avoid integer overflows in DWT. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=44544 [\#1408](https://github.com/uclouvain/openjpeg/pull/1408) ([rouault](https://github.com/rouault))
+- Updated "added support for partial bitstream decoding" [\#1407](https://github.com/uclouvain/openjpeg/pull/1407) ([Neopallium](https://github.com/Neopallium))
+- opj\_encoder\_set\_extra\_options\(\): add a GUARD\_BITS=value option [\#1403](https://github.com/uclouvain/openjpeg/pull/1403) ([rouault](https://github.com/rouault))
+- More overflow related bug fixes [\#1402](https://github.com/uclouvain/openjpeg/pull/1402) ([Eharve14](https://github.com/Eharve14))
+- opj\_j2k\_setup\_encoder\(\): validate number of tiles to avoid illegal values and potential overflow \(fixes \#1399\) [\#1401](https://github.com/uclouvain/openjpeg/pull/1401) ([rouault](https://github.com/rouault))
+- Missed conversion from unsigned int to OPJ\_INT32 [\#1398](https://github.com/uclouvain/openjpeg/pull/1398) ([Eharve14](https://github.com/Eharve14))
+- Added check for integer overflow in get\_num\_images [\#1397](https://github.com/uclouvain/openjpeg/pull/1397) ([Eharve14](https://github.com/Eharve14))
+- Added overflow check for CVE-2021-29338 [\#1396](https://github.com/uclouvain/openjpeg/pull/1396) ([Eharve14](https://github.com/Eharve14))
+- Fix integer overflow in num\_images [\#1395](https://github.com/uclouvain/openjpeg/pull/1395) ([baparham](https://github.com/baparham))
+- Remove duplicate assignments in function tiftoimage [\#1392](https://github.com/uclouvain/openjpeg/pull/1392) ([stweil](https://github.com/stweil))
+- Fix some typos \(found by codespell\) [\#1390](https://github.com/uclouvain/openjpeg/pull/1390) ([stweil](https://github.com/stweil))
+- CI: Add CIFuzz action [\#1386](https://github.com/uclouvain/openjpeg/pull/1386) ([DavidKorczynski](https://github.com/DavidKorczynski))
+- Feature/decimation [\#1384](https://github.com/uclouvain/openjpeg/pull/1384) ([msheby](https://github.com/msheby))
+- API: deprecate 'bpp' member in favor of 'prec' [\#1383](https://github.com/uclouvain/openjpeg/pull/1383) ([rouault](https://github.com/rouault))
+- Added support for high throughput \(HTJ2K\) decoding. [\#1381](https://github.com/uclouvain/openjpeg/pull/1381) ([rouault](https://github.com/rouault))
+- verify-indentation.sh: fix for pull request from bar/master to foo/master [\#1380](https://github.com/uclouvain/openjpeg/pull/1380) ([rouault](https://github.com/rouault))
+- Change integer for version libtiff 4.3.0 [\#1377](https://github.com/uclouvain/openjpeg/pull/1377) ([Jamaika1](https://github.com/Jamaika1))
+- Port continuous integration to github actions [\#1376](https://github.com/uclouvain/openjpeg/pull/1376) ([rouault](https://github.com/rouault))
+- Avoid integer overflows in DWT. [\#1375](https://github.com/uclouvain/openjpeg/pull/1375) ([rouault](https://github.com/rouault))
+- LGTM warning: Comparison result is always the same [\#1373](https://github.com/uclouvain/openjpeg/pull/1373) ([DimitriPapadopoulos](https://github.com/DimitriPapadopoulos))
+- A couple typos found by codespell [\#1371](https://github.com/uclouvain/openjpeg/pull/1371) ([DimitriPapadopoulos](https://github.com/DimitriPapadopoulos))
+- cmake: add install interface include directory [\#1370](https://github.com/uclouvain/openjpeg/pull/1370) ([madebr](https://github.com/madebr))
+- fix issues 1368: exist a issues of freeing uninitialized pointer in src/bin/jp2/opj\_decompress.c,that will cause a segfault [\#1369](https://github.com/uclouvain/openjpeg/pull/1369) ([xiaoxiaoafeifei](https://github.com/xiaoxiaoafeifei))
+- opj\_j2k\_is\_imf\_compliant: Fix out of bounds access [\#1366](https://github.com/uclouvain/openjpeg/pull/1366) ([sebras](https://github.com/sebras))
+- opj\_j2k\_is\_imf\_compliant: Fix argument formatting for warnings. [\#1365](https://github.com/uclouvain/openjpeg/pull/1365) ([sebras](https://github.com/sebras))
+- CMakeLists.txt/appveyor.yml: update version number to 2.5.0… [\#1361](https://github.com/uclouvain/openjpeg/pull/1361) ([rouault](https://github.com/rouault))
+- .travis.yml: try to fix gcc 4.8 config by updating to xenial [\#1360](https://github.com/uclouvain/openjpeg/pull/1360) ([rouault](https://github.com/rouault))
+- Add support for enabling generation of TLM markers in encoder [\#1359](https://github.com/uclouvain/openjpeg/pull/1359) ([rouault](https://github.com/rouault))
+- Fix various compiler warnings [\#1358](https://github.com/uclouvain/openjpeg/pull/1358) ([rouault](https://github.com/rouault))
+- fix \#1345: don't remove big endian test for other platforms [\#1354](https://github.com/uclouvain/openjpeg/pull/1354) ([msabwat](https://github.com/msabwat))
+- Remove obsolete components JPWL, JP3D and MJ2 [\#1350](https://github.com/uclouvain/openjpeg/pull/1350) ([rouault](https://github.com/rouault))
+- tools/travis-ci/install.sh: fix links to Kakadu and jpylyzer binaries [\#1348](https://github.com/uclouvain/openjpeg/pull/1348) ([rouault](https://github.com/rouault))
+- emscripten: disable big endian test [\#1345](https://github.com/uclouvain/openjpeg/pull/1345) ([msabwat](https://github.com/msabwat))
+- Fix cmake file with DESTDIR [\#1321](https://github.com/uclouvain/openjpeg/pull/1321) ([ffontaine](https://github.com/ffontaine))
+- CMakeLists.txt: Don't require a C++ compiler [\#1317](https://github.com/uclouvain/openjpeg/pull/1317) ([ffontaine](https://github.com/ffontaine))
+- Import files tiff and yuv\(raw\) [\#1316](https://github.com/uclouvain/openjpeg/pull/1316) ([Jamaika1](https://github.com/Jamaika1))
+- Fix year in NEWS [\#1312](https://github.com/uclouvain/openjpeg/pull/1312) ([stweil](https://github.com/stweil))
+- Fix lcms2 static linking using pgk config [\#867](https://github.com/uclouvain/openjpeg/pull/867) ([pseiderer](https://github.com/pseiderer))
+- fix static build only against tiff and its indirect dependencies [\#866](https://github.com/uclouvain/openjpeg/pull/866) ([tSed](https://github.com/tSed))
+
+
+**Closed issues:**
+
+- integer constant is too large for 'long' type [\#61](https://github.com/uclouvain/openjpeg/issues/61)
+- Openjpeg3D lossy compression not working [\#501](https://github.com/uclouvain/openjpeg/issues/501)
+- mj2: Array overflow [\#485](https://github.com/uclouvain/openjpeg/issues/485)
+- OPJ fails to decode image that KDU manages correctly [\#419](https://github.com/uclouvain/openjpeg/issues/419)
+- yuvtoimage\(\) bug in v1 and v2 for 16-Bit: please apply ASAP [\#384](https://github.com/uclouvain/openjpeg/issues/384)
+- JP3D: Fix CVE-2013-4289 CVE-2013-4290 [\#298](https://github.com/uclouvain/openjpeg/issues/298)
+- MJ2 libraries are installed in lib [\#204](https://github.com/uclouvain/openjpeg/issues/204)
+- MJ2: realloc is misused and may leak memory [\#168](https://github.com/uclouvain/openjpeg/issues/168)
+- MJ2 wrapper not functional [\#143](https://github.com/uclouvain/openjpeg/issues/143)
+- JPWL is broken in trunk [\#137](https://github.com/uclouvain/openjpeg/issues/137)
+- MJ2 files not using OPENJPEG API correctly [\#53](https://github.com/uclouvain/openjpeg/issues/53)
+- Maximum bit depth supported by the OpenJPEG implementation of JP3D [\#9](https://github.com/uclouvain/openjpeg/issues/9)
+- does openjpeg support either visually lossless or numerically lossless jpeg2000 compression? [\#1406](https://github.com/uclouvain/openjpeg/issues/1406)
+- extract jpeg2000 tile without decompression [\#1405](https://github.com/uclouvain/openjpeg/issues/1405)
+- openjpeg doesn't install a relocatable shared lib on macOS [\#1404](https://github.com/uclouvain/openjpeg/issues/1404)
+- pull request - the cinema industry awaits! [\#1400](https://github.com/uclouvain/openjpeg/issues/1400)
+- Integer overflows in j2K [\#1399](https://github.com/uclouvain/openjpeg/issues/1399)
+- why lossly compression performance worse than jpeg when compress png? [\#1393](https://github.com/uclouvain/openjpeg/issues/1393)
+- cect [\#1389](https://github.com/uclouvain/openjpeg/issues/1389)
+- the docs don't describe bpp and prec in opj\_image\_comp very well [\#1379](https://github.com/uclouvain/openjpeg/issues/1379)
+- converting .png to .jp2 by opj\_compress is different from the original image [\#1378](https://github.com/uclouvain/openjpeg/issues/1378)
+- Comparison result is always the same [\#1372](https://github.com/uclouvain/openjpeg/issues/1372)
+- Exist a issues of freeing uninitialized pointer in src/bin/jp2/opj\_decompress.c,that will cause a segfault [\#1368](https://github.com/uclouvain/openjpeg/issues/1368)
+- \[TEST NOT RUNNING\]: bigendian test [\#1355](https://github.com/uclouvain/openjpeg/issues/1355)
+- opj\_decompress 2.4.0 built with library 2.3.0. [\#1352](https://github.com/uclouvain/openjpeg/issues/1352)
+- New library htjpeg2000 [\#1351](https://github.com/uclouvain/openjpeg/issues/1351)
+- Integer Overflow in num\_images [\#1338](https://github.com/uclouvain/openjpeg/issues/1338)
+- All IMF Profile Selections Result in PART1 [\#1337](https://github.com/uclouvain/openjpeg/issues/1337)
+- grayscale image [\#1334](https://github.com/uclouvain/openjpeg/issues/1334)
+- error C2169: 'lrintf': intrinsic function, cannot be defined [\#1333](https://github.com/uclouvain/openjpeg/issues/1333)
+- Generate lower-case extension [\#1332](https://github.com/uclouvain/openjpeg/issues/1332)
+- color of reconstructed png file much darker [\#1330](https://github.com/uclouvain/openjpeg/issues/1330)
+- CVE-2019-6988, CVE-2018-20846 and CVE-2018-16376 [\#1328](https://github.com/uclouvain/openjpeg/issues/1328)
+- opj 2.4.0: opj\_free missing in opj3d [\#1327](https://github.com/uclouvain/openjpeg/issues/1327)
+- Not able to compress volumetric data [\#1326](https://github.com/uclouvain/openjpeg/issues/1326)
+- HTML documents are not installed in specified place [\#1322](https://github.com/uclouvain/openjpeg/issues/1322)
+- Can't find openjpeg.h when cross-compile. [\#1320](https://github.com/uclouvain/openjpeg/issues/1320)
+- OpenJPEG is available with EasyConfig [\#1319](https://github.com/uclouvain/openjpeg/issues/1319)
+- Building Test Programs [\#1318](https://github.com/uclouvain/openjpeg/issues/1318)
+- Builds are not reproducible [\#1275](https://github.com/uclouvain/openjpeg/issues/1275)
+- strange behaviour of opj\_jp3d\_compress/decompress utility [\#1274](https://github.com/uclouvain/openjpeg/issues/1274)
+- Potential heap-based buffer overflow in function t2\_encode\_packet in src/lib/openmj2/t2.c and src/lib/openjp3d/t2.c [\#1272](https://github.com/uclouvain/openjpeg/issues/1272)
+- Function tgatoimage in src/bin/jpwl/convert.c need to check that the file is big enough to avoid excessive memory allocations [\#1271](https://github.com/uclouvain/openjpeg/issues/1271)
+- memory & cpu are exhausted when converting jp2 file into png [\#1250](https://github.com/uclouvain/openjpeg/issues/1250)
+- Cannot compress PGX into JP3D despite following the directions? [\#1134](https://github.com/uclouvain/openjpeg/issues/1134)
+- sscanf buffer overflow in opj\_jp3d\_compress.c [\#1130](https://github.com/uclouvain/openjpeg/issues/1130)
+- integer underflow may lead to writing garbage [\#1089](https://github.com/uclouvain/openjpeg/issues/1089)
+- sscanf buffer overflow [\#1087](https://github.com/uclouvain/openjpeg/issues/1087)
+- strcpy overflows [\#1086](https://github.com/uclouvain/openjpeg/issues/1086)
+- sprintf buffer overflows [\#1084](https://github.com/uclouvain/openjpeg/issues/1084)
+- strcpy buffer overflow [\#1083](https://github.com/uclouvain/openjpeg/issues/1083)
+- integer overflow in malloc\(\) [\#1082](https://github.com/uclouvain/openjpeg/issues/1082)
+- out of bounds writes [\#1078](https://github.com/uclouvain/openjpeg/issues/1078)
+- out of bounds writes [\#1077](https://github.com/uclouvain/openjpeg/issues/1077)
+- divide by zero, perhaps multiplication overflow [\#1076](https://github.com/uclouvain/openjpeg/issues/1076)
+- missing format string parameter [\#1075](https://github.com/uclouvain/openjpeg/issues/1075)
+- leaks from cppcheck in lib folder [\#1038](https://github.com/uclouvain/openjpeg/issues/1038)
+- How to initialize DEBUG\_PROFILE in color.c? [\#958](https://github.com/uclouvain/openjpeg/issues/958)
+- JP3D sample files [\#865](https://github.com/uclouvain/openjpeg/issues/865)
+- BIG\_ENDIAN bug in jpwl.c [\#839](https://github.com/uclouvain/openjpeg/issues/839)
+- OpenJPEG fails to decode partial j2c where kdu succeeds [\#715](https://github.com/uclouvain/openjpeg/issues/715)
+- building mj2 binaries fails [\#652](https://github.com/uclouvain/openjpeg/issues/652)
+- openmj2\mj2.c: Out of bounds [\#646](https://github.com/uclouvain/openjpeg/issues/646)
+- bin\mj2\opj\_mj2\_decompress.c 101 wrong check / leak [\#608](https://github.com/uclouvain/openjpeg/issues/608)
+
+
+## [v2.4.0](https://github.com/uclouvain/openjpeg/releases/v2.4.0) (2020-12-28)
+
+[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.3.1...v2.4.0)
+
+**Closed issues:**
+
+- OPENJPEG\_INSTALL\_DOC\_DIR does not control a destination directory where HTML docs would be installed. [\#1309](https://github.com/uclouvain/openjpeg/issues/1309)
+- Heap-buffer-overflow in lib/openjp2/pi.c:312 [\#1302](https://github.com/uclouvain/openjpeg/issues/1302)
+- Heap-buffer-overflow in lib/openjp2/t2.c:973 [\#1299](https://github.com/uclouvain/openjpeg/issues/1299)
+- Heap-buffer-overflow in lib/openjp2/pi.c:623 [\#1293](https://github.com/uclouvain/openjpeg/issues/1293)
+- Global-buffer-overflow in lib/openjp2/dwt.c:1980 [\#1286](https://github.com/uclouvain/openjpeg/issues/1286)
+- Heap-buffer-overflow in lib/openjp2/tcd.c:2417 [\#1284](https://github.com/uclouvain/openjpeg/issues/1284)
+- Heap-buffer-overflow in lib/openjp2/mqc.c:499 [\#1283](https://github.com/uclouvain/openjpeg/issues/1283)
+- Openjpeg could not encode 32bit RGB float image [\#1281](https://github.com/uclouvain/openjpeg/issues/1281)
+- Openjpeg could not encode 32bit RGB float image [\#1280](https://github.com/uclouvain/openjpeg/issues/1280)
+- ISO/IEC 15444-1:2019 \(E\) compared with 'cio.h' [\#1277](https://github.com/uclouvain/openjpeg/issues/1277)
+- Test-suite failure due to hash mismatch [\#1264](https://github.com/uclouvain/openjpeg/issues/1264)
+- Heap use-after-free [\#1261](https://github.com/uclouvain/openjpeg/issues/1261)
+- Memory leak when failing to allocate object... [\#1259](https://github.com/uclouvain/openjpeg/issues/1259)
+- Memory leak of Tier 1 handle when OpenJPEG fails to set it as TLS... [\#1257](https://github.com/uclouvain/openjpeg/issues/1257)
+- Any plan to build release for CVE-2020-8112/CVE-2020-6851 [\#1247](https://github.com/uclouvain/openjpeg/issues/1247)
+- failing to convert 16-bit file: opj\_t2\_encode\_packet\(\): only 5251 bytes remaining in output buffer. 5621 needed. [\#1243](https://github.com/uclouvain/openjpeg/issues/1243)
+- CMake+VS2017 Compile OK, thirdparty Compile OK, but thirdparty not install [\#1239](https://github.com/uclouvain/openjpeg/issues/1239)
+- New release to solve CVE-2019-6988 ? [\#1238](https://github.com/uclouvain/openjpeg/issues/1238)
+- Many tests fail to pass after the update of libtiff to version 4.1.0 [\#1233](https://github.com/uclouvain/openjpeg/issues/1233)
+- Another heap buffer overflow in libopenjp2 [\#1231](https://github.com/uclouvain/openjpeg/issues/1231)
+- Heap buffer overflow in libopenjp2 [\#1228](https://github.com/uclouvain/openjpeg/issues/1228)
+- Endianness of binary volume \(JP3D\) [\#1224](https://github.com/uclouvain/openjpeg/issues/1224)
+- New release to resolve CVE-2019-12973 [\#1222](https://github.com/uclouvain/openjpeg/issues/1222)
+- how to set the block size,like 128,256 ? [\#1216](https://github.com/uclouvain/openjpeg/issues/1216)
+- compress YUV files to motion jpeg2000 standard [\#1213](https://github.com/uclouvain/openjpeg/issues/1213)
+- Repair/update Java wrapper, and include in release [\#1208](https://github.com/uclouvain/openjpeg/issues/1208)
+- abc [\#1206](https://github.com/uclouvain/openjpeg/issues/1206)
+- Slow decoding [\#1202](https://github.com/uclouvain/openjpeg/issues/1202)
+- Installation question [\#1201](https://github.com/uclouvain/openjpeg/issues/1201)
+- Typo in test\_decode\_area - \*ptilew is assigned instead of \*ptileh [\#1195](https://github.com/uclouvain/openjpeg/issues/1195)
+- Creating a J2K file with one POC is broken [\#1191](https://github.com/uclouvain/openjpeg/issues/1191)
+- Make fails on Arch Linux [\#1174](https://github.com/uclouvain/openjpeg/issues/1174)
+- Heap buffer overflow in opj\_t1\_clbl\_decode\_processor\(\) triggered with Ghostscript [\#1158](https://github.com/uclouvain/openjpeg/issues/1158)
+- opj\_stream\_get\_number\_byte\_left: Assertion `p\_stream-\>m\_byte\_offset \>= 0' failed. [\#1151](https://github.com/uclouvain/openjpeg/issues/1151)
+- The fuzzer ignores too many inputs [\#1079](https://github.com/uclouvain/openjpeg/issues/1079)
+- out of bounds read [\#1068](https://github.com/uclouvain/openjpeg/issues/1068)
+
+**Merged pull requests:**
+
+- Change defined WIN32 [\#1310](https://github.com/uclouvain/openjpeg/pull/1310) ([Jamaika1](https://github.com/Jamaika1))
+- docs: fix simple typo, producted -\> produced [\#1308](https://github.com/uclouvain/openjpeg/pull/1308) ([timgates42](https://github.com/timgates42))
+- Set ${OPENJPEG\_INSTALL\_DOC\_DIR} to DESTINATION of HTMLs [\#1307](https://github.com/uclouvain/openjpeg/pull/1307) ([lemniscati](https://github.com/lemniscati))
+- Use INC\_DIR for OPENJPEG\_INCLUDE\_DIRS \(fixes uclouvain\#1174\) [\#1306](https://github.com/uclouvain/openjpeg/pull/1306) ([matthew-sharp](https://github.com/matthew-sharp))
+- pi.c: avoid out of bounds access with POC \(fixes \#1302\) [\#1304](https://github.com/uclouvain/openjpeg/pull/1304) ([rouault](https://github.com/rouault))
+- Encoder: grow again buffer size [\#1303](https://github.com/uclouvain/openjpeg/pull/1303) ([zodf0055980](https://github.com/zodf0055980))
+- opj\_j2k\_write\_sod\(\): avoid potential heap buffer overflow \(fixes \#1299\) \(probably master only\) [\#1301](https://github.com/uclouvain/openjpeg/pull/1301) ([rouault](https://github.com/rouault))
+- pi.c: avoid out of bounds access with POC \(refs https://github.com/uclouvain/openjpeg/issues/1293\#issuecomment-737122836\) [\#1300](https://github.com/uclouvain/openjpeg/pull/1300) ([rouault](https://github.com/rouault))
+- opj\_t2\_encode\_packet\(\): avoid out of bound access of \#1297, but likely not the proper fix [\#1298](https://github.com/uclouvain/openjpeg/pull/1298) ([rouault](https://github.com/rouault))
+- opj\_t2\_encode\_packet\(\): avoid out of bound access of \#1294, but likely not the proper fix [\#1296](https://github.com/uclouvain/openjpeg/pull/1296) ([rouault](https://github.com/rouault))
+- opj\_j2k\_setup\_encoder\(\): validate POC compno0 and compno1 \(fixes \#1293\) [\#1295](https://github.com/uclouvain/openjpeg/pull/1295) ([rouault](https://github.com/rouault))
+- Encoder: avoid global buffer overflow on irreversible conversion when… [\#1292](https://github.com/uclouvain/openjpeg/pull/1292) ([rouault](https://github.com/rouault))
+- Decoding: deal with some SPOT6 images that have tiles with a single tile-part with TPsot == 0 and TNsot == 0, and with missing EOC [\#1291](https://github.com/uclouvain/openjpeg/pull/1291) ([rouault](https://github.com/rouault))
+- Free p\_tcd\_marker\_info to avoid memory leak [\#1288](https://github.com/uclouvain/openjpeg/pull/1288) ([zodf0055980](https://github.com/zodf0055980))
+- Encoder: grow again buffer size [\#1287](https://github.com/uclouvain/openjpeg/pull/1287) ([zodf0055980](https://github.com/zodf0055980))
+- Encoder: avoid uint32 overflow when allocating memory for codestream buffer \(fixes \#1243\) [\#1276](https://github.com/uclouvain/openjpeg/pull/1276) ([rouault](https://github.com/rouault))
+- Java compatibility from 1.5 to 1.6 [\#1263](https://github.com/uclouvain/openjpeg/pull/1263) ([jiapei100](https://github.com/jiapei100))
+- opj\_decompress: fix double-free on input directory with mix of valid and invalid images [\#1262](https://github.com/uclouvain/openjpeg/pull/1262) ([rouault](https://github.com/rouault))
+- openjp2: Plug image leak when failing to allocate codestream index. [\#1260](https://github.com/uclouvain/openjpeg/pull/1260) ([sebras](https://github.com/sebras))
+- openjp2: Plug memory leak when setting data as TLS fails. [\#1258](https://github.com/uclouvain/openjpeg/pull/1258) ([sebras](https://github.com/sebras))
+- openjp2: Error out if failing to create Tier 1 handle. [\#1256](https://github.com/uclouvain/openjpeg/pull/1256) ([sebras](https://github.com/sebras))
+- Testing for invalid values of width, height, numcomps [\#1254](https://github.com/uclouvain/openjpeg/pull/1254) ([szukw000](https://github.com/szukw000))
+- Single-threaded performance improvements in forward DWT for 5-3 and 9-7 \(and other improvements\) [\#1253](https://github.com/uclouvain/openjpeg/pull/1253) ([rouault](https://github.com/rouault))
+- Add support for multithreading in encoder [\#1248](https://github.com/uclouvain/openjpeg/pull/1248) ([rouault](https://github.com/rouault))
+- Add support for generation of PLT markers in encoder [\#1246](https://github.com/uclouvain/openjpeg/pull/1246) ([rouault](https://github.com/rouault))
+- Fix warnings about signed/unsigned casts in pi.c [\#1244](https://github.com/uclouvain/openjpeg/pull/1244) ([rouault](https://github.com/rouault))
+- opj\_decompress: add sanity checks to avoid segfault in case of decoding error [\#1240](https://github.com/uclouvain/openjpeg/pull/1240) ([rouault](https://github.com/rouault))
+- ignore wrong icc [\#1236](https://github.com/uclouvain/openjpeg/pull/1236) ([szukw000](https://github.com/szukw000))
+- Implement writing of IMF profiles [\#1235](https://github.com/uclouvain/openjpeg/pull/1235) ([rouault](https://github.com/rouault))
+- tests: add alternate checksums for libtiff 4.1 [\#1234](https://github.com/uclouvain/openjpeg/pull/1234) ([rouault](https://github.com/rouault))
+- opj\_tcd\_init\_tile\(\): avoid integer overflow [\#1232](https://github.com/uclouvain/openjpeg/pull/1232) ([rouault](https://github.com/rouault))
+- tests/fuzzers: link fuzz binaries using $LIB\_FUZZING\_ENGINE. [\#1230](https://github.com/uclouvain/openjpeg/pull/1230) ([Dor1s](https://github.com/Dor1s))
+- opj\_j2k\_update\_image\_dimensions\(\): reject images whose coordinates are beyond INT\_MAX \(fixes \#1228\) [\#1229](https://github.com/uclouvain/openjpeg/pull/1229) ([rouault](https://github.com/rouault))
+- Fix resource leaks [\#1226](https://github.com/uclouvain/openjpeg/pull/1226) ([dodys](https://github.com/dodys))
+- abi-check.sh: fix false positive ABI error, and display output error log [\#1218](https://github.com/uclouvain/openjpeg/pull/1218) ([rouault](https://github.com/rouault))
+- pi.c: avoid integer overflow, resulting in later invalid access to memory in opj\_t2\_decode\_packets\(\) [\#1217](https://github.com/uclouvain/openjpeg/pull/1217) ([rouault](https://github.com/rouault))
+- Add check to validate SGcod/SPcoc/SPcod parameter values. [\#1211](https://github.com/uclouvain/openjpeg/pull/1211) ([sebras](https://github.com/sebras))
+- Fix buffer overflow reading an image file less than four characters [\#1196](https://github.com/uclouvain/openjpeg/pull/1196) ([robert-ancell](https://github.com/robert-ancell))
+- compression: emit POC marker when only one single POC is requested \(f… [\#1192](https://github.com/uclouvain/openjpeg/pull/1192) ([rouault](https://github.com/rouault))
+- Fix several potential vulnerabilities [\#1185](https://github.com/uclouvain/openjpeg/pull/1185) ([Young-X](https://github.com/Young-X))
+- openjp2/j2k: Report error if all wanted components are not decoded. [\#1164](https://github.com/uclouvain/openjpeg/pull/1164) ([sebras](https://github.com/sebras))
+
+## [v2.3.1](https://github.com/uclouvain/openjpeg/releases/v2.3.1) (2019-04-02)
+[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.3.0...v2.3.1)
+
+**Closed issues:**
+
+- v2.2.0 regression for decoding images where TNsot == 0 [\#1120](https://github.com/uclouvain/openjpeg/issues/1120)
+- Int overflow in jp3d [\#1162](https://git
+...</pre></div>
+
+</body>
+</html>
<br/>
<h1>Changelog from Git</h1><br/><br/>
<div class='changelog'>
-<pre class='wrap'>commit cc1919b183f76d5ac79cc9927fb899b47700d925
-Merge: c28965f 655bb12
+<pre class='wrap'>commit 77e391cfe61ae8d0d251e2c7b083a0b9b1968927
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-06-09 11:53:56 +0200
+Date: 2022-05-13 19:13:11 +0200
- Merge pull request #1361 from rouault/update_version_numbers_to_2_5
-
- CMakeLists.txt/appveyor.yml: update version number to 2.5.0…
+ update tools/abi-tracker/openjpeg.json
-commit 655bb125250561dd1fa518ce523c388bcd84754a
+commit 7065d2cd3f4ddf46a7b89969989079a3fe4cf306
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-06-08 14:34:43 +0200
+Date: 2022-05-13 19:02:54 +0200
- CMakeLists.txt/appveyor.yml: update version number to 2.5.0 to make it easier for downstream consumers to use new features
+ abi_check.sh: Update version number for automatic abi check
-commit c28965f255c711a7b2f84a08b1398e5a0f807b0e
-Merge: 2624908 a36ae03
+commit a5891555eb49ed7cc26b2901ea680acda136d811
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-06-08 11:11:04 +0200
+Date: 2022-05-13 18:54:29 +0200
- Merge pull request #1359 from rouault/TLM
-
- Add support for enabling generation of TLM markers in encoder
+ Prepare for 2.5.0 release
-commit a36ae0386066c9ddd089788930be5a42a176446e
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-06-07 15:16:53 +0200
+commit cf90ff0c57ad5b12aa6e227d7202960a5770144d
+Author: Navidem <navid.emamdoost@gmail.com>
+Date: 2022-05-13 11:18:47 -0500
- Add support for enabling generation of TLM markers in encoder
-
- Support was already there, but restricted to Cinema and IMF profiles,
- and 255 tiles
-
- * Add -TLM switch added to opj_compress
- * Make opj_encoder_set_extra_options() function accept a TLM=YES option.
+ Separate fuzz targets to increase coverage (#1416)
-commit 2624908517ac0489ff1b5471f423dfe84d79da08
-Merge: e7d908d b5ec98f
+commit a13f9793481ee452268e9b6956b11dc8f9c19c9d
+Merge: 76c6a257 630b9d7f
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-06-07 15:48:42 +0200
+Date: 2022-05-13 17:58:38 +0200
- Merge pull request #1360 from rouault/travis_gcc_4_8_fix
+ Merge pull request #1386 from DavidKorczynski/cifuzz
- .travis.yml: try to fix gcc 4.8 config by updating to xenial
+ CI: Add CIFuzz action
-commit b5ec98f14f1947bc75eb76969ad5322490ae8e4c
+commit 76c6a257264da40fff1805cfc957536af451faff
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-06-07 15:41:39 +0200
+Date: 2022-05-08 19:45:42 +0200
- .travis.yml: try to fix gcc 4.8 config by updating to xenial
+ opj_compress.c: usage formatting fix
-commit e7d908d201a0fef9a619a537dae241341975cab9
-Merge: 7e4e09a f0629cb
+commit 576f72112e33e47152bbaa9630db6bfa949aa0aa
+Merge: 30e7c88b 3ac495c7
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-06-07 13:56:11 +0200
+Date: 2022-05-07 11:52:20 +0200
- Merge pull request #1358 from rouault/compiler_warning_fixes
+ Merge pull request #1418 from LongerVision/master
- Fix various compiler warnings
+ Java Support 1.8 now...
-commit f0629cb1c4c485d905936413556deb2872ac51e5
+commit 30e7c88bdf02335225c7b6df0200a74e931a6a4f
+Merge: 7b474e6d ef36cd01
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-06-07 13:28:26 +0200
+Date: 2022-05-07 11:52:09 +0200
- Fix various compiler warnings
+ Merge pull request #1419 from rouault/fix_ci
+
+ tools/travis-ci/install.sh: git clone with https:// to fix 'The unaut…
-commit 7e4e09a7fb2ee0de857227771b22abff54448cd4
+commit ef36cd015efcef463fdd8ba13f4b4598cfe3aa25
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-06-07 12:57:30 +0200
+Date: 2022-05-07 11:14:52 +0200
- openjpeg.c: avoid casts of function pointers
+ Rename knownfailures-Ubuntu20.04-gcc9.3.0-x86_64-Release-3rdP.txt to knownfailures-Ubuntu20.04-gcc9.4.0-x86_64-Release-3rdP.txt
-commit adb888920edb8477a271e640e5640237e2b4c0bb
-Merge: b6b8d28 99c28c9
+commit f7b5310e66d6c45253ac973af8138955b8071488
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-06-01 22:59:11 +0200
+Date: 2022-05-07 11:05:04 +0200
- Merge pull request #1354 from msabwat/emscripten
-
- fix #1345: don't remove big endian test for other platforms
+ .github/workflows/build.yml: force use of windows-2019 VM
-commit 99c28c960c18bfc0a4da5ec24adcedff1f1b143c
-Author: Mehdi Sabwat <mehdi@videolabs.io>
-Date: 2021-06-01 22:39:27 +0200
-
- fix #1345: don't remove big endian test for other platforms
-
- thanks to @ePirat, it turns out that !EMSCRIPTEN does not evaluate to 1 on other platforms, so the the #1345 actually disabled the test for all platforms.
-
-commit b6b8d28b3a85b74ff5415565cff2c20c019ca3c5
-Merge: 8aaafe6 238e849
+commit af4fd8d317c161b2b08380c3fb08fbe357715eb5
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-05-07 11:22:13 +0200
+Date: 2022-05-07 10:55:00 +0200
- Merge pull request #1345 from msabwat/emscripten
-
- emscripten: disable big endian test
+ tools/travis-ci/install.sh: git clone with https:// to fix 'The unauthenticated git protocol on port 9418 is no longer supported.'
-commit 238e849746e35232134533d826fdd2420d2e0274
-Author: Mehdi Sabwat <mehdisabwat@gmail.com>
-Date: 2021-04-26 15:37:44 +0200
+commit 7b474e6d815900eeebcaf03e44d8d076e3ee900a
+Merge: 6a29f5a9 e33944ea
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2022-05-07 10:23:26 +0200
- emscripten: disable big endian test
+ Merge pull request #1410 from rouault/fix_1404
- This test should not run on the emscripten platform because of :
- https://github.com/emscripten-core/emscripten/blob/dff33368427fba16745c8ce52f11484a67b2855d/cmake/Modules/TestBigEndian.cmake#L5
+ CMakeLists.txt: do not set INSTALL_NAME_DIR for MacOS builds for CMake >= 3.0 (fixes #1404)
-commit 8aaafe69958f3528db4e59b50cbc49494262c7b5
-Author: Jamaika1 <lukaszcz18@wp.pl>
-Date: 2021-05-06 19:30:34 +0200
+commit 3ac495c7fc8c23010a15b3d282e1dbfb6422dae0
+Author: Pei Jia <jiapei@longervision.com>
+Date: 2022-05-06 18:27:27 -0700
- Import files tiff and yuv(raw) (#1316)
+ JAVA_SOURCE_VERSION from 1.6 to 1.8
-commit 5f653ad673cf0f141801c1c4a810028a9876b5e5
-Merge: 05263ee 85a87cd
+commit e33944ea9e4aaf5763d4b2b25cc97cc021989948
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-05-06 13:40:43 +0200
+Date: 2022-02-13 10:42:47 +0100
- Merge pull request #1350 from rouault/remove_jpwl_jp3d_mj2
-
- Remove obsolete components JPWL, JP3D and MJ2
+ CMakeLists.txt: do not set INSTALL_NAME_DIR for MacOS builds for CMake >= 3.0 (fixes #1404)
-commit 85a87cd505f37027c4b74363b529a1e166e32651
+commit 6a29f5a9e3a1e2dbf1e3df22b7e449bc1db20b5c
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-05-04 19:21:45 +0200
+Date: 2022-02-10 15:49:57 +0100
- Remove obsolete components JPWL, JP3D and MJ2
+ opj_j2k_decode_tile(): avoid 'Stream too short' error in non-strict mode
-commit 05263eeee9bc666184a39cd2a83a7214cc83ec27
-Merge: 0bda718 9727f3a
+commit 3837ff1b1ac3ad81ec73024140a5e5eb1794123e
+Merge: 883c31db 1462e940
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-05-04 19:15:06 +0200
+Date: 2022-02-10 15:13:49 +0100
- Merge pull request #1348 from rouault/fix_kdu
+ Merge pull request #1408 from rouault/fix_ossfuzz_44544
- tools/travis-ci/install.sh: fix links to Kakadu and jpylyzer binaries
+ Avoid integer overflows in DWT. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=44544
-commit 9727f3ac69a7cd1ca00518c56ef1071881c03c71
+commit 1462e9403fb7d1186e999701dfe72980262a089c
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-05-04 18:55:43 +0200
+Date: 2022-02-10 14:30:13 +0100
- .travis.yml: disable tests that no longer pass for unknown reason
+ Avoid integer overflows in DWT. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=44544
-commit 92c0471154960d50ebe68b363f4bb1e2c1e4d775
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-05-04 16:27:05 +0200
+commit 883c31dbe09771aab043744ac2b490d7386878e3
+Author: Robert Gabriel Jakabosky <rjakabosky+github@neoawareness.com>
+Date: 2022-02-10 21:27:17 +0800
- tools/travis-ci/install.sh: fix links to Kakadu and jpylyzer binaries
-
-commit 0bda7188b7b545232a341f1d978b1e4feda46fc2
-Merge: 0782cd0 4d0b49e
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-01-10 23:58:37 +0100
-
- Merge pull request #1321 from ffontaine/master
+ Add support for partial bitstream decoding (#1407) (fixes #715)
- Fix cmake file with DESTDIR
-
-commit 4d0b49edad7fb31ebbf03c60a45b72aaa7b7412b
-Author: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: 2021-01-07 14:11:26 +0100
-
- cmake/OpenJPEGConfig.cmake: replace ABSOLUTE by REALPATH
+ Add a -allow-partial option to opj_decompress utility and a opj_decoder_set_strict_mode() option to the API
- Fix #1174 by replacing ABSOLUTE by REALPATH which will resolve symlinks:
- https://cmake.org/cmake/help/latest/command/get_filename_component.html
-
- Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+ Co-authored-by: Chris Hafey <chafey@gmail.com>
-commit 14f4c27e7c91f745a1dda9991b5deea3cbef2072
-Author: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: 2021-01-07 14:09:50 +0100
+commit 99d555c0f1818277645a0c79a5199f2e827d68cc
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2022-01-26 21:52:40 +0100
- Revert "Use INC_DIR for OPENJPEG_INCLUDE_DIRS (fixes uclouvain#1174)"
-
- This reverts commit 65586374d639cfc0104419992f9022174b412594 which
- breaks cross-compilation of poppler under buildroot (because of
- DESTDIR usage).
+ Add .github/ISSUE_TEMPLATE.md
-commit 0782cd075d7e9678bf1cb448c1f3d048fabe4489
-Merge: 07a4543 b6f0e41
+commit a5c95cfe2617639e52e5892038e7876021bdd7ea
+Merge: 241e9e8e 1de5fc6c
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-01-04 19:42:30 +0100
+Date: 2022-01-24 12:00:46 +0100
- Merge pull request #867 from pseiderer/fix-lcms2-static-linking-using-pgk-config
+ Merge pull request #1403 from rouault/configure_guard_bits
- Fix lcms2 static linking using pgk config
+ opj_encoder_set_extra_options(): add a GUARD_BITS=value option
-commit b6f0e41399f2e67117de2641b169f4400260be57
-Author: Peter Seiderer <ps.report@gmx.net>
-Date: 2016-11-11 23:35:13 +0100
+commit 1de5fc6c51617f49515ef80708dd074432a27a6a
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2022-01-23 17:53:55 +0100
- thirdparty: lcms2: append flags found by pkg-config if available
+ opj_encoder_set_extra_options(): add a GUARD_BITS=value option
- This change allows to get all required CFLAGS/LDFLAGS in case of static only
- build.
+ and add a -GuardBits option to opj_compress.
- Fixes a buildroot build failure (see [1], [2] and [3]).
+ The recently-released SMPTE DCP Bv2.1 Application Profile (link below)
+ says that the number of guard bits in the QCD marker shall be 1 for 2K
+ content and 2 for 4K content. This change allows the number of guard bits
+ to be configured, so that users of openjpeg have the control they need to meet the specification.
- [1] http://autobuild.buildroot.net/results/5ce/5cee20afd8bef5268832cddcb3a5270746be7a57
- [2] http://lists.busybox.net/pipermail/buildroot/2016-November/177187.html
- [3] http://lists.busybox.net/pipermail/buildroot/2016-November/177188.html
+ https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9161348
- Signed-off-by: Peter Seiderer <ps.report@gmx.net>
- ---
- Depends on https://github.com/uclouvain/openjpeg/pull/866
+ This is an alternative implementation of https://github.com/uclouvain/openjpeg/pull/1388
+ that keeps ABI unchanged.
-commit 07a454324cfeb431ee3fc3799df522dff252b12b
-Merge: eb27272 75a7f1a
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-01-04 14:06:43 +0100
+commit 241e9e8efeb6750ef4202a61b3a436628e4f6d23
+Author: Eric Harvey <71228603+Eharve14@users.noreply.github.com>
+Date: 2022-01-18 15:55:10 -0500
- Merge pull request #866 from tSed/master
-
- fix static build only against tiff and its indirect dependencies
+ Fix potential overflow related issues spotted by LGTM code analysis (#1402)
-commit eb27272a79cd81256e475b9aad8461fda8b7f989
-Merge: 2519439 4d147d9
+commit d87fd9279a9e0f8ce8fb23ab10e536410a907336
+Merge: a1eec9c4 70f5e0a0
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2021-01-04 10:45:52 +0100
+Date: 2022-01-18 17:22:44 +0100
- Merge pull request #1317 from ffontaine/master
-
- CMakeLists.txt: Don't require a C++ compiler
-
-commit 4d147d9630653e4c93a70a2a8026c323ed1042d2
-Author: Peter Korsgaard <peter@korsgaard.com>
-Date: 2021-01-04 09:05:42 +0100
-
- CMakeLists.txt: Don't require a C++ compiler
-
- By default, CMake assumes that the project is using both C and C++. By
- explicitly passing 'C' as argument of the project() macro, we tell CMake
- that only C is used, which prevents CMake from erroring out if a C++
- compiler doesn't exist.
+ Merge pull request #1401 from rouault/fix_1399
- Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
- [Retrieved (and slightly updated by adding enable_language(CXX) if
- WITH_ASTYLE is set) from:
- https://git.buildroot.net/buildroot/tree/package/openjpeg/0003-CMakeLists.txt-Don-t-require-a-C-compiler.patch]
- Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+ opj_j2k_setup_encoder(): validate number of tiles to avoid illegal values and potential overflow (fixes #1399)
-commit 2519439d7d4d0e51abf479afe73f30b1c7c70530
+commit 70f5e0a0df0b97a5675673b779105dc8e5cfed30
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-31 14:54:59 +0100
+Date: 2022-01-18 15:44:18 +0100
- Fix Windows build
+ opj_j2k_setup_encoder(): validate number of tiles to avoid illegal values and potential overflow (fixes #1399)
-commit 433edd0eea934e25f6e97aaf912ebed191fa41d1
-Author: Antonin Descampe <antonin@descampe.net>
-Date: 2020-12-31 11:06:28 +0100
+commit a1eec9c49e143fab0e0c0dcc13f94f11fef04f22
+Author: Eric Harvey <71228603+Eharve14@users.noreply.github.com>
+Date: 2022-01-16 12:54:00 -0500
- patch provided 3rdparty zlib to work with MacOS
+ Fix unsigned vs OPJ_INT32 mismatches (#1398)
-commit 4db0c8d5aef53dd6eebc730e5a189cf9bf9bae6c
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-29 15:34:19 +0100
+commit 6e4588f379be0eb5b62fff65bf96aa1ca556ea96
+Author: Eharve14 <71228603+Eharve14@users.noreply.github.com>
+Date: 2022-01-15 09:33:03 -0500
- Add HOWTO-RELEASE
+ Added check for integer overflow in get_num_images (#1397)
+
+ As discussed in pull request 1396, added a check for integer overflow.
+ Change list:
+ Defined num_images as unsigned int
+ Moved the if statement to check for an empty directory to the beginning of the read directory section
+ Added a check to see if num images would roll back to zero when incrementing.
-commit 43b8ddc6af015715b2fbda2052a17b29d1538df7
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-29 15:01:40 +0100
+commit 1daaa0b909aebdf71be36238d16dfbec83c494ed
+Author: Eharve14 <71228603+Eharve14@users.noreply.github.com>
+Date: 2022-01-13 15:05:52 -0500
- Comment back opj_previous_version in abi_check.sh
+ Avoid overflow in multiplications in utilities related to big number of files in a directory (CVE-2021-29338) (#1396)
-commit b93996d5e018b3d9525acf406053d8b46240f914
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-29 14:46:50 +0100
+commit 79c7d7af598b778c3cdcb455df23d50efc95eb3c
+Author: Brad Parham <baparham@gmail.com>
+Date: 2022-01-12 13:46:10 +0100
- abi_check.sh: Update version number for automatic abi check
+ opj_compress/opj_uncompress: fix integer overflow in num_images (#1395)
+
+ Includes the fix for CVE-2021-29338
+ Credit to @kaniini based on #1346
+ Fixes #1338
-commit b897e2cb369b6944d791209f491f382a983cda87
-Merge: 37ac30c 7dd5497
+commit fe2fa707161b2025ef82c325b9110c08bd0e812e
+Merge: 22eb737d af8339d3
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-28 22:58:58 +0100
+Date: 2021-12-10 11:57:41 +0100
- Merge pull request #1312 from stweil/news
+ Merge pull request #1392 from stweil/duplicate
- Fix year in NEWS
+ Remove duplicate assignments in function tiftoimage
-commit 7dd5497b15a33a8020bf1ab116f649328b037a89
+commit af8339d33f92d1f88b504d9cd84cde981fef94df
Author: Stefan Weil <sw@weilnetz.de>
-Date: 2020-12-28 22:52:34 +0100
+Date: 2021-12-10 11:27:44 +0100
- Fix year in NEWS
+ Remove duplicate assignments in function tiftoimage
Signed-off-by: Stefan Weil <sw@weilnetz.de>
-commit 37ac30ceff6640bbab502388c5e0fa0bff23f505
+commit 22eb737d5d5d25947cec28cf23bcb0b4a5a682a3
+Merge: 90481203 6ec9871e
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-28 21:55:55 +0100
+Date: 2021-12-05 14:32:51 +0100
- Prepare for v2.4.0
+ Merge pull request #1390 from stweil/typos
+
+ Fix some typos (found by codespell)
-commit a335b4d008359a32656026fa6780ef185b35cf0a
-Merge: 4980f46 0c2b633
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-28 21:49:48 +0100
+commit 6ec9871eca3871b285a125ae22e7623da48305c3
+Author: Stefan Weil <sw@weilnetz.de>
+Date: 2021-12-05 13:38:47 +0100
- Merge pull request #1310 from Jamaika1/patch-1
+ Format source file with typo fixes
- Change defined WIN32
+ Signed-off-by: Stefan Weil <sw@weilnetz.de>
-commit 4980f46210f19bd2d83dffdfeb8496f29d68b9c9
-Merge: 6c5acd4 aaddbc7
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-28 19:05:14 +0100
+commit ef73ad1c97b0a9be81786c137f31baef6387e268
+Author: Stefan Weil <sw@weilnetz.de>
+Date: 2021-12-05 13:32:09 +0100
- Merge pull request #1307 from cygwin-lem/pr_use-OPENJPEG_INSTALL_DOC_DIR-to-DESTINATION-of-HTMLs
+ Fix singular/plural mismatch
- Set ${OPENJPEG_INSTALL_DOC_DIR} to DESTINATION of HTMLs
+ Signed-off-by: Stefan Weil <sw@weilnetz.de>
-commit 6c5acd4d656870882432ff28d4103de80d109a8d
-Merge: 98a4c5c 5d494a7
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-28 19:04:28 +0100
+commit 667149ffa11f0255db92f522bc5b5fc8aefb16ec
+Author: Stefan Weil <sw@weilnetz.de>
+Date: 2021-12-05 13:04:30 +0100
- Merge pull request #1308 from timgates42/bugfix_typo_produced
+ Fix some typos (found by codespell)
- docs: fix simple typo, producted -> produced
+ Signed-off-by: Stefan Weil <sw@weilnetz.de>
-commit 0c2b633992417c8794470c9932e3c75447c8ab13
-Author: Jamaika1 <lukaszcz18@wp.pl>
-Date: 2020-12-21 07:59:12 +0100
+commit 90481203a28d4d18052a07711d6d890ed1ab8c8a
+Author: msheby <44249925+msheby@users.noreply.github.com>
+Date: 2021-10-27 05:10:50 -0700
- Change defined WIN32
+ opj_compress: add a -TargetBitDepth switch for TIFF output (#1384)
+
+ Sometimes, given the same (16-bit TIF) input, one wants to generate a variety of J2C outputs (say, 16-, 12-, and 10-bit). This patch allows one to downsample input files, and so makes it easier to automate OpenJPEG in mass generation of J2Cs without having to pipe though an image processing program.
-commit 5d494a7e8b9591a8923f387679c692b5c1f45e5a
-Author: Tim Gates <tim.gates@iress.com>
-Date: 2020-12-16 21:19:17 +1100
+commit 630b9d7fb1a817bab2fc5edac133eb7f6ac49cf9
+Author: David Korczynski <david@adalogics.com>
+Date: 2021-10-27 11:10:11 +0100
- docs: fix simple typo, producted -> produced
-
- There is a small typo in thirdparty/include/zlib.h, thirdparty/libz/zlib.h.
+ ci: Add CIFuzz action
- Should read `produced` rather than `producted`.
+ Signed-off-by: David Korczynski <david@adalogics.com>
-commit aaddbc7c07f00f0704da4db7616e6dc7448e5f07
-Author: Lemures Lemniscati <lemures.lemniscati@gmail.com>
-Date: 2020-12-14 23:00:04 +0900
+commit 9f70bf0ad1ba02fa3af87c552647bbc05c94c18e
+Merge: 714c63ef 0b5d6268
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2021-10-21 17:21:36 +0200
- Set ${OPENJPEG_INSTALL_DOC_DIR} to DESTINATION of HTMLs
+ Merge pull request #1383 from rouault/deprecate_bpp
- Use ${OPENJPEG_INSTALL_DOC_DIR} as DESTINATION of HTML documents,
- instead of share/doc.
+ API: deprecate 'bpp' member in favor of 'prec'
-commit 98a4c5c3709e0cc43b0a1c151ed5bd85a2d607fa
-Merge: 5d0a8b0 6558637
+commit 0b5d62684fe360e098e3bccaef02ee3e9781cec4
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-10 15:55:41 +0100
+Date: 2021-10-21 12:43:50 +0200
- Merge pull request #1306 from matthew-sharp/master
+ API: deprecate 'bpp' member in favor of 'prec'
- Use INC_DIR for OPENJPEG_INCLUDE_DIRS (fixes uclouvain#1174)
+ in opj_image_comp and opj_image_comptparm structures.
+
+ bpp was redundant with prec, and almost never set by the library, except
+ by opj_image_create(). This change should hopefully not impact existing,
+ working, users of the API, which should already have used prec to get
+ things working.
+
+ Fixes #1379
-commit 65586374d639cfc0104419992f9022174b412594
-Author: Matthew Sharp <sharpshopter@gmail.com>
-Date: 2020-12-10 10:17:46 +1100
+commit 3835f37084c762dc7a14b3e995bc005cf584de7c
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2021-10-21 13:12:05 +0200
- Use INC_DIR for OPENJPEG_INCLUDE_DIRS (fixes uclouvain#1174)
- This fixes the case where the cmake file is accessed via a symlink.
+ tests/: reformat a few files to be modified
-commit 5d0a8b08dcd3bcdf532c54702b5a88ec61b17918
-Merge: 43dd9ee 8f5aff1
+commit 714c63efee203a46fe366d22c0077425052bb62c
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-05 11:39:23 +0100
+Date: 2021-09-27 08:04:57 +0200
- Merge pull request #1304 from rouault/fix_1302
-
- pi.c: avoid out of bounds access with POC (fixes #1302)
+ tests/fuzzers/build_seed_corpus.sh: add htj2k files
-commit 8f5aff1dff510a964d3901d0fba281abec98ab63
+commit 0fbeeff48e741d17dbb673c0e663433cbbf06094
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-04 20:45:25 +0100
+Date: 2021-09-26 13:02:40 +0200
- pi.c: avoid out of bounds access with POC (fixes #1302)
+ Test decoding a .jhc file with vertically causal context variation
-commit 43dd9ee17894a22fa3df88b1e561274632d9ab43
-Merge: aaff099 4ce7d28
+commit cee880215078af501a69a173de112fd3063504fa
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-04 20:37:43 +0100
+Date: 2021-09-26 12:49:05 +0200
- Merge pull request #1303 from zodf0055980/fix#1283
-
- Encoder: grow again buffer size
+ README.md: update badge to github action workflows [ci skip]
-commit 4ce7d285a55d29b79880d0566d4b010fe1907aa9
-Author: yuan <zodf0055980@gmail.com>
-Date: 2020-12-04 19:00:22 +0800
+commit 2e977fac16acc6b1994e37b4de9271b710bc5129
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2021-09-26 12:41:05 +0200
- Encoder: grow again buffer size in opj_tcd_code_block_enc_allocate_data() (fixes #1283)
+ Test decoding a .jph test file
-commit aaff099b49365cfecfc475ada48b9244c6eefc9c
-Merge: fb9eae5 73fdf28
+commit 15594a3dbf735eb52b4a262ed1d4c50779404018
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-02 23:56:57 +0100
+Date: 2021-09-26 12:37:59 +0200
- Merge pull request #1301 from rouault/fix_1299
-
- opj_j2k_write_sod(): avoid potential heap buffer overflow (fixes #1299) (probably master only)
+ opj_dump.c: fix potential buffer overflow
-commit fb9eae5d637d06209a6cb9ca57960ac72179ee14
-Merge: fc6abdb 00383e1
+commit 15615751b840d5b85a46292cf8fe393dab8e1a8b
+Merge: ec651740 0544a088
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-02 23:56:39 +0100
+Date: 2021-09-25 13:29:02 +0200
- Merge pull request #1300 from rouault/complement_1293
+ Merge pull request #1381 from rouault/htj2k_followup
- pi.c: avoid out of bounds access with POC (refs https://github.com/uclouvain/openjpeg/issues/1293#issuecomment-737122836)
+ Added support for high throughput (HTJ2K) decoding.
-commit fc6abdbeb7aa427685c28a9ebfd2e653c10999b3
-Merge: 18b1138 38d661a
+commit 0544a0885bbc4c918e8b7f759cba70e0c70a0539
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-02 23:56:30 +0100
+Date: 2021-09-25 12:59:04 +0200
- Merge pull request #1298 from rouault/fix_1297
-
- opj_t2_encode_packet(): avoid out of bound access of #1297, but likely not the proper fix
+ ht_dec.c: fix likely issue on big endian hosts (untested)
-commit 73fdf28342e4594019af26eb6a347a34eceb6296
+commit f3d8c763ba5f427b7ec7961e63c597f9f0381856
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-02 14:10:16 +0100
+Date: 2021-09-25 12:14:27 +0200
+
+ opj_decompress / opj_dump: accept .jph and .jhc extensions for HTJ2K files
- opj_j2k_write_sod(): avoid potential heap buffer overflow (fixes #1299) (probably master only)
+commit 1e6c925eb5f6b68097a9592ca4df4f24eb8b9e56
+Author: Aous Naman <aous72@yahoo.com>
+Date: 2021-09-02 18:51:38 +1000
-commit 00383e162ae2f8fc951f5745bf1011771acb8dce
+ Added support for high throughput (HTJ2K) decoding.
+
+ There are a few limitations:
+ - mixed mode (HT and regular code blocks) is not supported.
+ - ROI in HT blocks is not supported.
+ - Placeholder passes are not supported.
+ - MultiHT sets are not support, only a singleHT set.
+ - there are known issues with some compliance testing files related to
+ the parsing of packet header.
+
+commit ec651740191dc765c8a1fc5cc3c5348cd0cd2ccc
+Merge: fd485f2f af8ed50a
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-02 14:02:17 +0100
+Date: 2021-09-15 14:01:20 +0200
- pi.c: avoid out of bounds access with POC (refs https://github.com/uclouvain/openjpeg/issues/1293#issuecomment-737122836)
+ Merge pull request #1380 from rouault/fix_verify_indent_pr
+
+ verify-indentation.sh: fix for pull request from bar/master to foo/master
-commit 38d661a3897052c7ff0b39b30c29cb067e130121
+commit af8ed50ae70409fb1a461474e1738dd004507a7d
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-02 13:13:26 +0100
+Date: 2021-09-15 13:40:50 +0200
- opj_t2_encode_packet(): avoid out of bound access of #1297, but likely not the proper fix
+ CI 'regular': fix static builds when doing perf checks
-commit 18b1138fbe3bb0ae4aa2bf1369f9430a8ec6fa00
-Merge: 630b485 c9380ed
+commit 29818b8e9241d5d891e150bd4ba523c899ecacd0
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-02 10:05:39 +0100
+Date: 2021-09-15 13:21:25 +0200
- Merge pull request #1295 from rouault/fix_1293
-
- opj_j2k_setup_encoder(): validate POC compno0 and compno1 (fixes #1293)
+ verify-indentation.sh: fix for pull request from bar/master to foo/master
-commit 630b485f86a6b0bb6fa03b698b8c5358df88d055
-Merge: 61ff143 fbd30b0
+commit fd485f2f13d59d94649fe32a1969150908f569c9
+Merge: 8fc4bf8e 3d3b58c6
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-02 10:05:31 +0100
+Date: 2021-09-14 17:15:53 +0200
- Merge pull request #1296 from rouault/workaround_1294
+ Merge pull request #1376 from rouault/gha
- opj_t2_encode_packet(): avoid out of bound access of #1294, but likely not the proper fix
+ Port continuous integration to github actions
+
+commit 8fc4bf8ecbccea2d2ec3faef143ca5a57eba677d
+Author: Jamaika1 <lukaszcz18@wp.pl>
+Date: 2021-09-12 12:32:38 +0200
+
+ Use standard integer types for compatibility with libtiff 4.3.0 (#1377)
-commit c9380ed0f8cc4794fc71d556ea23ae61e32247af
+commit 3d3b58c61f584487c6ab6664fd8e667453b45c85
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-01 19:39:09 +0100
+Date: 2021-09-11 18:28:44 +0200
- opj_j2k_setup_encoder(): validate POC compno0 (fixes #1293)
+ appveyor.yml: disable deploy
-commit fbd30b064f8f9607d500437b6fedc41431fd6cdc
+commit 3d582dd8856bd9c8e3243407b61690263ed2ee48
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-01 19:51:35 +0100
+Date: 2021-09-10 16:05:04 +0200
- opj_t2_encode_packet(): avoid out of bound access of #1294, but likely not the proper fix
+ Add github action workflows CI
-commit 61ff143ad63b9bbe12b6da266f8619b2cb2c3559
-Merge: 2d119d0 6daf5f3
+commit 0c1962669858b1d67a6b8851ae0e8c4123a1c282
+Merge: 172583ab badbd93a
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-12-01 11:35:59 +0100
+Date: 2021-09-08 13:16:52 +0200
- Merge pull request #1292 from rouault/fix_1286
+ Merge pull request #1375 from rouault/fix_ossfuzz_11700_30646
- Encoder: avoid global buffer overflow on irreversible conversion when…
+ Avoid integer overflows in DWT.
-commit 6daf5f3e1ec6eff03b7982889874a3de6617db8d
+commit badbd93af92836c7a38ef069d410a829e2575ce2
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-11-30 22:37:07 +0100
+Date: 2021-09-03 15:17:56 +0200
- Encoder: avoid global buffer overflow on irreversible conversion when too many decomposition levels are specified (fixes #1286)
+ Avoid integer overflows in DWT. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11700 and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30646
-commit 2d119d03a0c9f5e3b6c2a70c30cbdcea4857b40a
-Merge: b207240 1aa3c60
+commit 172583ab5b9b8de67bed1eed11bd26a77d94b521
+Merge: 9bb0db7c bea58764
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-11-30 23:28:31 +0100
+Date: 2021-08-30 19:15:32 +0200
- Merge pull request #1291 from rouault/tnsot_zero_missing_eoc
+ Merge pull request #1373 from DimitriPapadopoulos/lgtm
- Decoding: deal with some SPOT6 images that have tiles with a single tile-part with TPsot == 0 and TNsot == 0, and with missing EOC
+ LGTM warning: Comparison result is always the same
-commit b2072402b7e14d22bba6fb8cde2a1e9996e9a919
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-11-30 22:31:51 +0100
+commit bea58764ad2df966b455a4f3f4063d7f2ac8b0ca
+Author: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
+Date: 2021-08-30 18:48:57 +0300
- pngtoimage(): fix wrong computation of x1,y1 if -d option is used, that would result in a heap buffer overflow (fixes #1284)
+ LGTM warning: Comparison result is always the same
+
+ Comparison is always true because pos >= 0.
-commit 1aa3c60859ab2a3edb7a68682f131c6b3a91da72
+commit 9bb0db7cfba9d5ca1417bde3b88c0bf0f7c711de
+Merge: 0d075aa5 5c205395
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-11-30 17:36:27 +0100
+Date: 2021-08-12 11:42:28 +0200
- Decoding: deal with some SPOT6 images that have tiles with a single tile-part with TPsot == 0 and TNsot == 0, and with missing EOC
+ Merge pull request #1370 from madebr/cmake/export-include-directory
+
+ cmake: add install interface include directory
-commit a2b2980a4bcb4d3903375de31495f99dde0e98a8
-Merge: 0c0f27f 4f48779
+commit 0d075aa5dc5dca7b2f0c7e12f9967e190fbb2a32
+Merge: 0afbdcf3 3efa4fd3
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-11-27 14:25:11 +0100
+Date: 2021-08-12 11:40:40 +0200
- Merge pull request #1288 from zodf0055980/master
+ Merge pull request #1371 from DimitriPapadopoulos/codespell
- Free p_tcd_marker_info to avoid memory leak
+ A couple typos found by codespell
-commit 4f487798bac3eea5ffa07d3cc542f675c4b4d9ae
-Author: yuan <zodf0055980@gmail.com>
-Date: 2020-11-26 00:22:49 +0800
+commit 3efa4fd334eed98ba60cd08624982a4499c49860
+Author: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
+Date: 2021-08-12 12:12:22 +0300
- Free p_tcd_marker_info to avoid memory leak
+ A couple typos found by codespell
-commit 0c0f27f17d431d98d190f30bec3879f434512158
-Merge: 15cf3d9 649298d
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-11-25 16:59:46 +0100
+commit 5c2053950eb4c2c76f17deefd35f5c49abf0232e
+Author: Anonymous Maarten <anonymous.maarten@gmail.com>
+Date: 2021-08-01 20:56:40 +0200
- Merge pull request #1287 from zodf0055980/master
-
- Encoder: grow again buffer size
+ cmake: add install interface include directory
-commit 649298dcf84b2f20cfe458d887c1591db47372a6
-Author: yuan <zodf0055980@gmail.com>
-Date: 2020-11-25 20:41:39 +0800
+commit 0afbdcf3e6d0d2bd2e16a0c4d513ee3cf86e460d
+Author: xiaoxiaoafeifei <lliangliang2007@163.com>
+Date: 2021-07-14 09:35:13 +0800
- Encoder: grow again buffer size in opj_tcd_code_block_enc_allocate_data() (fixes #1283)
+ Fix segfault in src/bin/jp2/opj_decompress.c due to uninitialized pointer (fixes #1368) (#1369)
-commit 15cf3d95814dc931ca0ecb132f81cb152e051bae
+commit 08ba6a1638242e7ddd884c6c9777a232c0ef82fd
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-11-23 18:14:02 +0100
+Date: 2021-07-12 15:59:41 +0200
- Encoder: grow again buffer size in opj_tcd_code_block_enc_allocate_data() (fixes #1283)
+ Fix code formatting
-commit eaa098b59b346cb88e4d10d505061f669d7134fc
+commit 67f8a1e4303d74fab4f15914259b4122180895e1
+Merge: 00beb209 e0993d07
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-11-23 13:49:05 +0100
+Date: 2021-07-12 15:58:06 +0200
- Encoder: grow buffer size in opj_tcd_code_block_enc_allocate_data() to avoid write heap buffer overflow in opj_mqc_flush (fixes #1283)
+ Merge pull request #1366 from sebras/fix-out-of-bounds-access
+
+ opj_j2k_is_imf_compliant: Fix out of bounds access
-commit 67ec360f48aeded95d06578e717bdf40a8e6d16f
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-11-23 13:38:27 +0100
+commit e0993d072a0cd8c60d9babd30c58320f13eff867
+Author: Sebastian Rasmussen <sebras@gmail.com>
+Date: 2021-07-12 15:31:28 +0200
- Fix typo in internal function name
+ opj_j2k_is_imf_compliant: Fix out of bounds access.
+
+ Previously when mainlevel was parsed == 12 openjpeg would generate
+ a warning, but then the sublevel value would be compared to an out
+ of bounds element in the tabMaxSubLevelFromMainLevel array. From
+ this commit OpenJPEG will only use mainlevel if in range.
-commit 491299eb073c80602ca8ee333303a31a581d3fa8
-Merge: 65c8f57 1c5627e
+commit 00beb209531cc258b71f81653299dcadd880b0aa
+Merge: cc1919b1 c8ab3e58
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-10-09 13:25:27 +0200
+Date: 2021-07-12 12:02:12 +0200
- Merge pull request #1253 from rouault/floating_point_irreversible_encoding
+ Merge pull request #1365 from sebras/fix-warning-formatting
- Single-threaded performance improvements in forward DWT for 5-3 and 9-7 (and other improvements)
+ opj_j2k_is_imf_compliant: Fix argument formatting for warnings.
-commit 65c8f577d2f057e80040e98958eae80ca76c6b94
-Author: Pei JIA <jiapei@longervision.com>
-Date: 2020-09-23 02:34:31 -0700
+commit c8ab3e5849da0c072e4e0eadd6ec48e951b316d0
+Author: Sebastian Rasmussen <sebras@gmail.com>
+Date: 2021-07-12 03:04:55 +0200
- Bump Java compatibility from 1.5 to 1.6 (#1263)
+ opj_j2k_is_imf_compliant: Fix argument formatting for warnings.
-commit 0f16986738725799237548ce6a2ea12516850e72
-Merge: cbee789 0863ccf
+commit cc1919b183f76d5ac79cc9927fb899b47700d925
+Merge: c28965f2 655bb125
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-09-16 11:52:10 +0200
+Date: 2021-06-09 11:53:56 +0200
- Merge pull request #1276 from rouault/fix_1243
+ Merge pull request #1361 from rouault/update_version_numbers_to_2_5
- Encoder: avoid uint32 overflow when allocating memory for codestream buffer (fixes #1243)
+ CMakeLists.txt/appveyor.yml: update version number to 2.5.0…
-commit 0863ccf291238de15ca00da366b4c40fa9ffb673
+commit 655bb125250561dd1fa518ce523c388bcd84754a
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-09-16 11:27:53 +0200
+Date: 2021-06-08 14:34:43 +0200
- Encoder: avoid uint32 overflow when allocating memory for codestream buffer (fixes #1243)
+ CMakeLists.txt/appveyor.yml: update version number to 2.5.0 to make it easier for downstream consumers to use new features
-commit cbee7891a0ee664dd83ca09553d2e30da716a883
-Merge: 172c8ae e8e258a
+commit c28965f255c711a7b2f84a08b1398e5a0f807b0e
+Merge: 26249085 a36ae038
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-06-30 22:05:13 +0200
+Date: 2021-06-08 11:11:04 +0200
- Merge pull request #1262 from rouault/fix_1261
+ Merge pull request #1359 from rouault/TLM
- opj_decompress: fix double-free on input directory with mix of valid and invalid images
+ Add support for enabling generation of TLM markers in encoder
-commit e8e258ab049240c2dd1f1051b4e773b21e2d3dc0
+commit a36ae0386066c9ddd089788930be5a42a176446e
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-06-28 14:19:59 +0200
+Date: 2021-06-07 15:16:53 +0200
- opj_decompress: fix double-free on input directory with mix of valid and invalid images (CVE-2020-15389)
+ Add support for enabling generation of TLM markers in encoder
- Fixes #1261
+ Support was already there, but restricted to Cinema and IMF profiles,
+ and 255 tiles
- Credits to @Ruia-ruia for reporting and analysis.
+ * Add -TLM switch added to opj_compress
+ * Make opj_encoder_set_extra_options() function accept a TLM=YES option.
-commit 172c8ae5cf230ff74b5814daf29e5b577aa30a9b
-Merge: e252438 b028e8d
+commit 2624908517ac0489ff1b5471f423dfe84d79da08
+Merge: e7d908d2 b5ec98f1
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-06-22 22:35:44 +0200
+Date: 2021-06-07 15:48:42 +0200
- Merge pull request #1260 from sebras/fix-issue-1259
+ Merge pull request #1360 from rouault/travis_gcc_4_8_fix
- openjp2: Plug image leak when failing to allocate codestream index.
+ .travis.yml: try to fix gcc 4.8 config by updating to xenial
-commit e252438d5e23e6ba9561e73a5a4754713bfd626a
-Merge: 98150d0 79b199a
+commit b5ec98f14f1947bc75eb76969ad5322490ae8e4c
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-06-22 22:12:08 +0200
+Date: 2021-06-07 15:41:39 +0200
- Merge pull request #1258 from sebras/fix-issue-1257
-
- openjp2: Plug memory leak when setting data as TLS fails.
+ .travis.yml: try to fix gcc 4.8 config by updating to xenial
-commit b028e8d1ce7798f61c35b1b20d836f80d78a35d0
-Author: Sebastian Rasmussen <sebras@gmail.com>
-Date: 2020-06-23 02:18:19 +0800
+commit e7d908d201a0fef9a619a537dae241341975cab9
+Merge: 7e4e09a7 f0629cb1
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2021-06-07 13:56:11 +0200
- openjp2: Plug image leak when failing to allocate codestream index.
+ Merge pull request #1358 from rouault/compiler_warning_fixes
- This fixes issue #1259.
+ Fix various compiler warnings
-commit 79b199a8fee2a0d51d4389fcde3f5f4dd01971eb
-Author: Sebastian Rasmussen <sebras@gmail.com>
-Date: 2020-06-23 02:18:19 +0800
+commit f0629cb1c4c485d905936413556deb2872ac51e5
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2021-06-07 13:28:26 +0200
- openjp2: Plug memory leak when setting data as TLS fails.
-
- Previously the Tier 1 handle was not freed when setting it as
- TLS failed.
-
- This fixes issue #1257.
+ Fix various compiler warnings
-commit 98150d09422149305c9c8648337a744df5786fbe
-Merge: 25fb144 93b9f72
+commit 7e4e09a7fb2ee0de857227771b22abff54448cd4
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-06-22 21:03:23 +0200
+Date: 2021-06-07 12:57:30 +0200
- Merge pull request #1256 from sebras/master
-
- openjp2: Error out if failing to create Tier 1 handle.
+ openjpeg.c: avoid casts of function pointers
-commit 93b9f7236ce09614ea5edcb0f616f1b4095c4830
-Author: Sebastian Rasmussen <sebras@gmail.com>
-Date: 2020-06-23 02:18:19 +0800
+commit adb888920edb8477a271e640e5640237e2b4c0bb
+Merge: b6b8d28b 99c28c96
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2021-06-01 22:59:11 +0200
- openjp2: Error out if failing to create Tier 1 handle.
-
- Previously when the handle failed to be created (e.g. when
- opj_calloc returned NULL due to low memory), the code still
- assumed that the t1 handle pointer was valid and dereferenced
- NULL, causing a crash. After this commit OpenJPEG will instead
- error out under this condition.
+ Merge pull request #1354 from msabwat/emscripten
- This fixes issue #1255.
+ fix #1345: don't remove big endian test for other platforms
-commit 25fb144c42f97489594302e1e6ff886791e0a5b3
-Author: szukw000 <szukw000@arcor.de>
-Date: 2020-06-10 17:40:50 +0200
+commit 99c28c960c18bfc0a4da5ec24adcedff1f1b143c
+Author: Mehdi Sabwat <mehdi@videolabs.io>
+Date: 2021-06-01 22:39:27 +0200
- Testing for invalid values of width, height, numcomps (#1254)
+ fix #1345: don't remove big endian test for other platforms
+
+ thanks to @ePirat, it turns out that !EMSCRIPTEN does not evaluate to 1 on other platforms, so the the #1345 actually disabled the test for all platforms.
-commit 1c5627ee7406f84cfb40809b7ac31c63342427df
+commit b6b8d28b3a85b74ff5415565cff2c20c019ca3c5
+Merge: 8aaafe69 238e8497
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-05-24 15:38:21 +0200
+Date: 2021-05-07 11:22:13 +0200
- T1 encoder: speed-up by aggressive inlining and more cache friendly data organization
+ Merge pull request #1345 from msabwat/emscripten
- ~ 9% speed improvement seen on 10980x10980 uint16 image, T36JTT_20160914T074612_B02.tif
- opj_compress time from 17.2s to 15.8s
+ emscripten: disable big endian test
-commit 1e931fdb3655c64ab60ea5657f79309331a86485
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-05-22 23:57:51 +0200
+commit 238e849746e35232134533d826fdd2420d2e0274
+Author: Mehdi Sabwat <mehdisabwat@gmail.com>
+Date: 2021-04-26 15:37:44 +0200
- Forward DWT 9-7: major speed up by vectorizing vertical pass
+ emscripten: disable big endian test
- `bench_dwt -I -encode` times goes from 8.6s to 2.1s
+ This test should not run on the emscripten platform because of :
+ https://github.com/emscripten-core/emscripten/blob/dff33368427fba16745c8ce52f11484a67b2855d/cmake/Modules/TestBigEndian.cmake#L5
+
+commit 8aaafe69958f3528db4e59b50cbc49494262c7b5
+Author: Jamaika1 <lukaszcz18@wp.pl>
+Date: 2021-05-06 19:30:34 +0200
-commit a38e970fa59abd796c703ec469e578b09f7ffa33
+ Import files tiff and yuv(raw) (#1316)
+
+commit 5f653ad673cf0f141801c1c4a810028a9876b5e5
+Merge: 05263eee 85a87cd5
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-05-22 17:50:15 +0200
+Date: 2021-05-06 13:40:43 +0200
- Forward DWT 5-3: major speed up by vectorizing vertical pass
+ Merge pull request #1350 from rouault/remove_jpwl_jp3d_mj2
- `bench_dwt -encode` times goes from 7.9s to 1.7s
+ Remove obsolete components JPWL, JP3D and MJ2
-commit e69fa09f604bc472f9fbff5c2b2db65e8dbe2418
+commit 85a87cd505f37027c4b74363b529a1e166e32651
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-05-22 15:58:47 +0200
+Date: 2021-05-04 19:21:45 +0200
- Forward DWT: small code refactoring to allow future improvements for the vertical pass
+ Remove obsolete components JPWL, JP3D and MJ2
-commit 33d3d0de07be710f53940c7548b9f2bd58ff3210
+commit 05263eeee9bc666184a39cd2a83a7214cc83ec27
+Merge: 0bda7188 9727f3ac
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-05-22 15:06:29 +0200
+Date: 2021-05-04 19:15:06 +0200
- dwt.c: remove unused typedef
+ Merge pull request #1348 from rouault/fix_kdu
+
+ tools/travis-ci/install.sh: fix links to Kakadu and jpylyzer binaries
-commit 97b384aecdeea0c286213f5caf6244ec08ea32d7
+commit 9727f3ac69a7cd1ca00518c56ef1071881c03c71
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-05-22 15:03:40 +0200
+Date: 2021-05-04 18:55:43 +0200
- Forward DWT 5x3: performance improvements in horizontal pass, and modest in vertical pass
+ .travis.yml: disable tests that no longer pass for unknown reason
-commit bd5f5ee7dea851aedae630fee094ef3b0ff0c888
+commit 92c0471154960d50ebe68b363f4bb1e2c1e4d775
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-05-21 21:20:19 +0200
+Date: 2021-05-04 16:27:05 +0200
- Forward DWT: small code refactoring to allow future improvements for the horizontal pass
+ tools/travis-ci/install.sh: fix links to Kakadu and jpylyzer binaries
-commit 45a35223b79dee65a0059f999b690072e829669f
+commit 0bda7188b7b545232a341f1d978b1e4feda46fc2
+Merge: 0782cd07 4d0b49ed
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-05-21 16:54:48 +0200
+Date: 2021-01-10 23:58:37 +0100
- Speed-up 9x7 IDWD by ~30% with OPJ_NUM_THREADS=2
+ Merge pull request #1321 from ffontaine/master
- "bench_dwt -I" time goes from 2.2s to 1.5s
+ Fix cmake file with DESTDIR
-commit 272b3e0fb2530ca8bffdc8c64f1505a8ff5f6ecc
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-05-21 11:24:29 +0200
+commit 4d0b49edad7fb31ebbf03c60a45b72aaa7b7412b
+Author: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: 2021-01-07 14:11:26 +0100
- Remove useless + 5U margin in opj_dwt_decode_tile_97()
+ cmake/OpenJPEGConfig.cmake: replace ABSOLUTE by REALPATH
+
+ Fix #1174 by replacing ABSOLUTE by REALPATH which will resolve symlinks:
+ https://cmake.org/cmake/help/latest/command/get_filename_component.html
- Nothing in code analysis nor test suite shows that this margin is
- needed.
- It dates back to commit dbeebe72b9d35f6ff807c21c7f217b569fa894f6
- where vector 9x7 decoding was introduced.
+ Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-commit 47943daa15983d20ab1ffd0a237125f1493c5658
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-05-21 11:23:00 +0200
+commit 14f4c27e7c91f745a1dda9991b5deea3cbef2072
+Author: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: 2021-01-07 14:09:50 +0100
- Speed-up 9x7 IDWD by ~20%
+ Revert "Use INC_DIR for OPENJPEG_INCLUDE_DIRS (fixes uclouvain#1174)"
- "bench_dwt -I" time goes from 2.8s to 2.2s
+ This reverts commit 65586374d639cfc0104419992f9022174b412594 which
+ breaks cross-compilation of poppler under buildroot (because of
+ DESTDIR usage).
-commit 0c09062464fe74f62fb9a4da829992c6a8bd7920
+commit 0782cd075d7e9678bf1cb448c1f3d048fabe4489
+Merge: 07a45432 b6f0e413
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-05-20 23:20:48 +0200
+Date: 2021-01-04 19:42:30 +0100
- bench_dwt.c: add a -I switch to test irreversible FWDT/IDWT
+ Merge pull request #867 from pseiderer/fix-lcms2-static-linking-using-pgk-config
+
+ Fix lcms2 static linking using pgk config
-commit 19ef7f26c43f689b627aad642da7f6150893b863
-Merge: 1d358f2 f3ee448
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-05-20 21:10:55 +0200
+commit b6f0e41399f2e67117de2641b169f4400260be57
+Author: Peter Seiderer <ps.report@gmx.net>
+Date: 2016-11-11 23:35:13 +0100
- Merge pull request #1211 from sebras/master
+ thirdparty: lcms2: append flags found by pkg-config if available
- Add check to validate SGcod/SPcoc/SPcod parameter values.
+ This change allows to get all required CFLAGS/LDFLAGS in case of static only
+ build.
+
+ Fixes a buildroot build failure (see [1], [2] and [3]).
+
+ [1] http://autobuild.buildroot.net/results/5ce/5cee20afd8bef5268832cddcb3a5270746be7a57
+ [2] http://lists.busybox.net/pipermail/buildroot/2016-November/177187.html
+ [3] http://lists.busybox.net/pipermail/buildroot/2016-November/177188.html
+
+ Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+ ---
+ Depends on https://github.com/uclouvain/openjpeg/pull/866
-commit 1d358f25c8eabbc7c274bcc148f4f5d594ec13fe
-Merge: 64689d0 4edb8c8
+commit 07a454324cfeb431ee3fc3799df522dff252b12b
+Merge: eb27272a 75a7f1a5
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-05-20 20:29:31 +0200
+Date: 2021-01-04 14:06:43 +0100
- Merge pull request #1246 from rouault/write_plt
+ Merge pull request #866 from tSed/master
- Add support for generation of PLT markers in encoder
+ fix static build only against tiff and its indirect dependencies
-commit 4edb8c83374f52cd6a8f2c7c875e8ffacccb5fa5
+commit eb27272a79cd81256e475b9aad8461fda8b7f989
+Merge: 2519439d 4d147d96
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-04-21 15:55:44 +0200
+Date: 2021-01-04 10:45:52 +0100
- Add support for generation of PLT markers in encoder
-
- * -PLT switch added to opj_compress
- * Add a opj_encoder_set_extra_options() function that
- accepts a PLT=YES option, and could be expanded later
- for other uses.
-
- -------
-
- Testing with a Sentinel2 10m band, T36JTT_20160914T074612_B02.jp2,
- coming from S2A_MSIL1C_20160914T074612_N0204_R135_T36JTT_20160914T081456.SAFE
-
- Decompress it to TIFF:
- ```
- opj_uncompress -i T36JTT_20160914T074612_B02.jp2 -o T36JTT_20160914T074612_B02.tif
- ```
-
- Recompress it with similar parameters as original:
- ```
- opj_compress -n 5 -c [256,256],[256,256],[256,256],[256,256],[256,256] -t 1024,1024 -PLT -i T36JTT_20160914T074612_B02.tif -o T36JTT_20160914T074612_B02_PLT.jp2
- ```
-
- Dump codestream detail with GDAL dump_jp2.py utility (https://github.com/OSGeo/gdal/blob/master/gdal/swig/python/samples/dump_jp2.py)
- ```
- python dump_jp2.py T36JTT_20160914T074612_B02.jp2 > /tmp/dump_sentinel2_ori.txt
- python dump_jp2.py T36JTT_20160914T074612_B02_PLT.jp2 > /tmp/dump_sentinel2_openjpeg_plt.txt
- ```
-
- The diff between both show very similar structure, and identical number of packets in PLT markers
-
- Now testing with Kakadu (KDU803_Demo_Apps_for_Linux-x86-64_200210)
-
- Full file decompression:
- ```
- kdu_expand -i T36JTT_20160914T074612_B02_PLT.jp2 -o tmp.tif
-
- Consumed 121 tile-part(s) from a total of 121 tile(s).
- Consumed 80,318,806 codestream bytes (excluding any file format) = 5.329697
- bits/pel.
- Processed using the multi-threaded environment, with
- 8 parallel threads of execution
- ```
+ Merge pull request #1317 from ffontaine/master
- Partial decompresson (presumably using PLT markers):
- ```
- kdu_expand -i T36JTT_20160914T074612_B02.jp2 -o tmp.pgm -region "{0.5,0.5},{0.01,0.01}"
- kdu_expand -i T36JTT_20160914T074612_B02_PLT.jp2 -o tmp2.pgm -region "{0.5,0.5},{0.01,0.01}"
- diff tmp.pgm tmp2.pgm && echo "same !"
- ```
+ CMakeLists.txt: Don't require a C++ compiler
+
+commit 4d147d9630653e4c93a70a2a8026c323ed1042d2
+Author: Peter Korsgaard <peter@korsgaard.com>
+Date: 2021-01-04 09:05:42 +0100
+
+ CMakeLists.txt: Don't require a C++ compiler
- -------
+ By default, CMake assumes that the project is using both C and C++. By
+ explicitly passing 'C' as argument of the project() macro, we tell CMake
+ that only C is used, which prevents CMake from erroring out if a C++
+ compiler doesn't exist.
- Funded by ESA for S2-MPC project
+ Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+ [Retrieved (and slightly updated by adding enable_language(CXX) if
+ WITH_ASTYLE is set) from:
+ https://git.buildroot.net/buildroot/tree/package/openjpeg/0003-CMakeLists.txt-Don-t-require-a-C-compiler.patch]
+ Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-commit 64689d05dfaaf52105581d93fb1eb173b20829a4
+commit 2519439d7d4d0e51abf479afe73f30b1c7c70530
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-04-18 18:25:44 +0200
+Date: 2020-12-31 14:54:59 +0100
- struct opj_j2k: remove unused fields, and add some documentation
+ Fix Windows build
-commit 774889a328abd5d3c280d9a897f1ac4c672cb0e5
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2020-04-17 00:39:46 +0200
+commit 433edd0eea934e25f6e97aaf912ebed191fa41d1
+Author: Antonin Descampe <antonin@descampe.net>
+Date: 2020-12-31 11:06:28 +0100
- Merge pull request #1244 from rouault/fix_pi_warnings
-
- Fix warnings about signed/unsigned casts in pi.c
+ patch provided 3rdparty zlib to work with MacOS
-commit f3ee448815eb992b8d4746e32c05e8289f30415f
-Author: Sebastian Rasmussen <sebras@gmail.com>
-Date: 2018-10-31 15:56:11 +0100
+commit 4db0c8d5aef53dd6eebc730e5a189cf9bf9bae6c
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2020-12-29 15:34:19 +0100
- openjp2/j2k: Validate all SGcod/SPcod/SPcoc parameter values.
-
- Previously the multiple component transformation SGcod(C)
- and wavelet transformation SPcod(H)/SPcoc(E) parameter
- values were never checked, allowing for out of range values.
-
- The lack of validation allowed the bit stream provided in
- issue #1158 through. After this commit an error message
- points to the marker segments' parameters as being out of
- range.
-
- input/nonregression/edf_c2_20.jp2 contains an SPcod(H) value
- of 17, but according to Table A-20 of the specification only
- values 0 and 1 are valid. input/nonregression/issue826.jp2
- contains a SGcod(B) value of 2, but according to Table A-17
- of the specification only values 0 and 1 are valid.
- input/nonregression/oss-fuzz2785.jp2 contains a SGcod(B)
- value of 32, but it is likewise limited to 0 or 1. These test
- cases have been updated to consistently fail to parse the
- headers since they contain out of bounds values.
-
- This fixes issue #1210.
+ Add HOWTO-RELEASE
-commit d801bd4e6287d13b65a48775ebd43fca350b21d9
-Author: Sebastian Rasmussen <sebras@gmail.com>
-Date: 2019-09-04 01:18:37 +0200
+commit 43b8ddc6af015715b2fbda2052a17b29d1538df7
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2020-12-29 15:01:40 +0100
- openjp2/j2k: Make comments adhere to specification.
-
- The function is used to read both SPcod and SPcoc, so all
- comments should refer to both marker segments' parameter names.
+ Comment back opj_previous_version in abi_check.sh
...</pre></div>
--- /dev/null
+<!-- verdict:incompatible;affected:15;added:1;removed:0;type_problems_high:0;type_problems_medium:3;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;tool_version:1.99.21 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="keywords" content="libopenjp2, binary compatibility, API, report" />
+<meta name="description" content="Binary compatibility report for the libopenjp2 object between 2.4.0 and 2.5.0 versions on x86_64" />
+<title>libopenjp2: 2.4.0 to 2.5.0 binary compatibility report</title>
+<style type="text/css">
+body {
+ font-family:Arial, sans-serif;
+ background-color:White;
+ color:Black;
+}
+hr {
+ color:Black;
+ background-color:Black;
+ height:1px;
+ border:0;
+}
+h1 {
+ margin-bottom:0px;
+ padding-bottom:0px;
+ font-size:1.625em;
+}
+h2 {
+ margin-bottom:0px;
+ padding-bottom:0px;
+ font-size:1.25em;
+ white-space:nowrap;
+}
+span.section {
+ font-weight:bold;
+ cursor:pointer;
+ color:#003E69;
+ white-space:nowrap;
+ margin-left:5px;
+}
+span.new_sign {
+ font-weight:bold;
+ margin-left:26px;
+ color:#003E69;
+}
+span.new_sign_lbl {
+ margin-left:28px;
+ font-size:0.875em;
+ color:Black;
+}
+span:hover.section {
+ color:#336699;
+}
+span.sect_aff {
+ cursor:pointer;
+ margin-left:7px;
+ padding-left:15px;
+ font-size:0.875em;
+ color:#cc3300;
+}
+span.sect_info {
+ cursor:pointer;
+ margin-left:7px;
+ padding-left:15px;
+ font-size:0.875em;
+ color:Black;
+}
+span.ext {
+ font-weight:100;
+}
+span.h_name {
+ color:#cc3300;
+ font-size:0.875em;
+ font-weight:bold;
+}
+div.h_list, div.lib_list {
+ font-size:0.94em;
+ padding-left:5px;
+}
+span.ns {
+ color:#408080;
+ font-size:0.94em;
+}
+span.lib_name {
+ color:Green;
+ font-size:0.875em;
+ font-weight:bold;
+}
+span.iname {
+ font-weight:bold;
+ color:#003E69;
+ margin-left:5px;
+}
+span.iname_b {
+ font-weight:bold;
+ font-size:1.1em;
+}
+span.iname_a {
+ color:#333333;
+ font-weight:bold;
+ font-size:0.94em;
+}
+span.sym_p {
+ font-weight:normal;
+ white-space:normal;
+}
+div.affect {
+ padding-left:15px;
+ padding-bottom:10px;
+ font-size:0.87em;
+ font-style:italic;
+ line-height:0.75em;
+}
+div.affected {
+ padding-left:30px;
+ padding-top:10px;
+}
+table.ptable {
+ border-collapse:collapse;
+ border:1px outset black;
+ line-height:1em;
+ margin-left:15px;
+ margin-top:3px;
+ margin-bottom:3px;
+ width:900px;
+
+}
+table.ptable td {
+ border:1px solid gray;
+ padding: 3px;
+ font-size:0.875em;
+ text-align:left;
+ vertical-align:top;
+}
+table.vtable {
+ border-collapse:collapse;
+ border:1px outset black;
+ line-height:16px;
+ margin-left:30px;
+ margin-top:10px;
+}
+table.vtable td {
+ border:1px solid gray;
+ word-wrap:break-word;
+ padding: 3px;
+ font-size:0.875em;
+ max-width:450px;
+ vertical-align:top;
+}
+table.ptable th, table.vtable th {
+ background-color:#eeeeee;
+ font-weight:bold;
+ color:#333333;
+ font-family:Verdana, Arial;
+ font-size:0.81em;
+ border:1px solid gray;
+ text-align:center;
+ vertical-align:top;
+ white-space:nowrap;
+ padding: 3px;
+}
+table.summary {
+ border-collapse:collapse;
+ border:1px outset black;
+}
+table.summary th {
+ background-color:#eeeeee;
+ font-weight:100;
+ text-align:left;
+ font-size:0.94em;
+ white-space:nowrap;
+ border:1px inset gray;
+ padding: 3px;
+}
+table.summary td {
+ text-align:right;
+ white-space:nowrap;
+ border:1px inset gray;
+ padding: 3px 5px 3px 10px;
+}
+span.mangled {
+ padding-left:15px;
+ font-size:0.875em;
+ cursor:text;
+ color:#444444;
+}
+span.sym_ver {
+ color:#333333;
+ white-space:nowrap;
+ font-family:"DejaVu Sans Mono", Monospace;
+}
+span.attr {
+ color:#333333;
+ font-weight:100;
+}
+span.color_p {
+ font-style:italic;
+ color:Brown;
+}
+span.p {
+ font-style:italic;
+}
+span.fp {
+ font-style:italic;
+ background-color:#DCDCDC;
+}
+span.ttype {
+ font-weight:100;
+}
+span.nowrap {
+ white-space:nowrap;
+}
+span.value {
+ white-space:nowrap;
+ font-weight:bold;
+}
+.passed {
+ background-color:#CCFFCC;
+}
+.warning {
+ background-color:#F4F4AF;
+}
+.failed {
+ background-color:#FFCCCC;
+}
+.new {
+ background-color:#C6DEFF;
+}
+.compatible {
+ background-color:#CCFFCC;
+}
+.almost_compatible {
+ background-color:#FFDAA3;
+}
+.incompatible {
+ background-color:#FFCCCC;
+}
+.gray {
+ background-color:#DCDCDC;
+}
+.top_ref {
+ font-size:0.69em;
+}
+.footer {
+ font-size:0.75em;
+}
+</style>
+<script type="text/javascript" language="JavaScript">
+<!--
+function showContent(header, id)
+{
+ e = document.getElementById(id);
+ if(e.style.display == 'none')
+ {
+ e.style.display = 'block';
+ e.style.visibility = 'visible';
+ header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[−]");
+ }
+ else
+ {
+ e.style.display = 'none';
+ e.style.visibility = 'hidden';
+ header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]");
+ }
+}
+-->
+</script>
+</head>
+
+<body>
+<div><a name='Top'></a>
+<h1>Binary compatibility report for the <span style='color:Blue;'>libopenjp2.so</span> object between <span style='color:Red;'>2.4.0</span> and <span style='color:Red;'>2.5.0</span> versions on <span style='color:Blue;'>x86_64</span></h1>
+
+<h2>Test Info</h2><hr/>
+<table class='summary'>
+<tr><th>Module Name</th><td>libopenjp2</td></tr>
+<tr><th>Version #1</th><td>2.4.0 (gcc 4.8.5)</td></tr>
+<tr><th>Version #2</th><td>2.5.0 (gcc 9.4.0)</td></tr>
+<tr><th>CPU Type</th><td>x86_64</td></tr>
+</table>
+<h2>Test Results</h2><hr/>
+<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>1</a></td></tr>
+<tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>4</a></td></tr>
+<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr>
+<tr><th>Total Symbols / Types</th><td>50 / 114</td></tr>
+<tr><th>Compatibility</th>
+<td class='almost_compatible'>85%</td>
+</tr>
+</table>
+<h2>Problem Summary</h2><hr/>
+<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Added' style='color:Blue;'>1</a></td></tr>
+<tr><th>Removed Symbols</th><td>High</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td class='failed'><a href='#Type_Problems_Medium' style='color:Blue;'>3</a></td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
+</table>
+
+<a name='Added'></a><h2>Added Symbols <span class='new'> 1 </span></h2><hr/>
+<span class='h_name'>openjpeg.h</span>, <span class='lib_name'>libopenjp2.so.2.5.0</span><br/>
+<span class="iname">opj_decoder_set_strict_mode <span class='sym_p'>( opj_codec_t* <span class='color_p'>p_codec</span>, <span class='nowrap'>OPJ_BOOL <span class='color_p'>strict</span> )</span></span></span><br/>
+<br/>
+<a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Medium_Risk_Problems'></a><a name='Type_Problems_Medium'></a>
+<h2>Problems with Data Types, Medium Severity <span class='failed'> 3 </span></h2><hr/>
+<span class='h_name'>openjpeg.h</span><br/>
+<span class="section" onclick="javascript:showContent(this, 'c_1')">
+<span class='ext'>[+]</span> <span class='ttype'>enum</span> CODEC_FORMAT <span class='failed'> 1 </span></span>
+<br/>
+<div id="c_1" style="display:none;">
+<table class='ptable'><tr>
+<th width='2%'></th><th width='47%'>Change</th>
+<th>Effect</th></tr><tr>
+<th>1</th>
+<td>Value of member <b>OPJ_CODEC_UNKNOWN</b> has been changed from <b>-1</b> to <span class='iname_b'>18446744073709551615 <span class='sym_p'>( <span class='nowrap'>-1 )</span></span></span>.</td>
+<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
+</tr>
+</table>
+<span class="sect_aff" onclick="javascript:showContent(this, 'c_2')">
+[+] affected symbols: 2 (4%)</span>
+<div id="c_2" style="display:none;">
+<div class='affected'><span class='iname_a'>opj_create_compress <span class='sym_p'>( <span class='nowrap'>OPJ_CODEC_FORMAT <span class='fp'>p_format</span> )</span></span></span><br/>
+<div class='affect'>1st parameter 'p_format' has base type 'enum CODEC_FORMAT'.</div>
+<span class='iname_a'>opj_create_decompress <span class='sym_p'>( <span class='nowrap'>OPJ_CODEC_FORMAT <span class='fp'>p_format</span> )</span></span></span><br/>
+<div class='affect'>1st parameter 'p_format' has base type 'enum CODEC_FORMAT'.</div>
+</div>
+</div>
+<br/><br/></div>
+
+<span class="section" onclick="javascript:showContent(this, 'c_3')">
+<span class='ext'>[+]</span> <span class='ttype'>enum</span> COLOR_SPACE <span class='failed'> 1 </span></span>
+<br/>
+<div id="c_3" style="display:none;">
+<table class='ptable'><tr>
+<th width='2%'></th><th width='47%'>Change</th>
+<th>Effect</th></tr><tr>
+<th>1</th>
+<td>Value of member <b>OPJ_CLRSPC_UNKNOWN</b> has been changed from <b>-1</b> to <span class='iname_b'>18446744073709551615 <span class='sym_p'>( <span class='nowrap'>-1 )</span></span></span>.</td>
+<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
+</tr>
+</table>
+<span class="sect_aff" onclick="javascript:showContent(this, 'c_4')">
+[+] affected symbols: 9 (18%)</span>
+<div id="c_4" style="display:none;">
+<div class='affected'><span class='iname_a'>opj_decode <span class='sym_p'>( <span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_stream_t* <i>p_stream</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span> )</span></span></span><br/>
+<div class='affect'>Field 'p_image.color_space' in 3rd parameter 'p_image' (pointer) has base type 'enum COLOR_SPACE'.</div>
+<span class='iname_a'>opj_get_decoded_tile <span class='sym_p'>( <span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_stream_t* <i>p_stream</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span>,</span> <span class='nowrap'>OPJ_UINT32 <i>tile_index</i> )</span></span></span><br/>
+<div class='affect'>Field 'p_image.color_space' in 3rd parameter 'p_image' (pointer) has base type 'enum COLOR_SPACE'.</div>
+<span class='iname_a'>opj_image_create <span class='sym_p'>( <span class='nowrap'>OPJ_UINT32 <i>numcmpts</i>,</span> <span class='nowrap'>opj_image_cmptparm_t* <i>cmptparms</i>,</span> <span class='nowrap'>OPJ_COLOR_SPACE <span class='fp'>clrspc</span> )</span></span></span><br/>
+<div class='affect'>3rd parameter 'clrspc' has base type 'enum COLOR_SPACE'.</div>
+<span class='iname_a'>opj_image_destroy <span class='sym_p'>( <span class='nowrap'>opj_image_t* <span class='fp'>image</span> )</span></span></span><br/>
+<div class='affect'>Field 'image.color_space' in 1st parameter 'image' (pointer) has base type 'enum COLOR_SPACE'.</div>
+<span class='iname_a'>opj_image_tile_create <span class='sym_p'>( <span class='nowrap'>OPJ_UINT32 <i>numcmpts</i>,</span> <span class='nowrap'>opj_image_cmptparm_t* <i>cmptparms</i>,</span> <span class='nowrap'>OPJ_COLOR_SPACE <span class='fp'>clrspc</span> )</span></span></span><br/>
+<div class='affect'>3rd parameter 'clrspc' has base type 'enum COLOR_SPACE'.</div>
+<span class='iname_a'>opj_read_header <span class='sym_p'>( <span class='nowrap'>opj_stream_t* <i>p_stream</i>,</span> <span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_image_t** <span class='fp'>p_image</span> )</span></span></span><br/>
+<div class='affect'>Field 'p_image.color_space' in 3rd parameter 'p_image' (pointer) has base type 'enum COLOR_SPACE'.</div>
+<span class='iname_a'>opj_set_decode_area <span class='sym_p'>( <span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span>,</span> <span class='nowrap'>OPJ_INT32 <i>p_start_x</i>,</span> <span class='nowrap'>OPJ_INT32 <i>p_start_y</i>,</span> <span class='nowrap'>OPJ_INT32 <i>p_end_x</i>,</span> <span class='nowrap'>OPJ_INT32 <i>p_end_y</i> )</span></span></span><br/>
+<div class='affect'>Field 'p_image.color_space' in 2nd parameter 'p_image' (pointer) has base type 'enum COLOR_SPACE'.</div>
+<span class='iname_a'>opj_setup_encoder <span class='sym_p'>( <span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_cparameters_t* <i>parameters</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span> )</span></span></span><br/>
+<div class='affect'>Field 'p_image.color_space' in 3rd parameter 'p_image' (pointer) has base type 'enum COLOR_SPACE'.</div>
+<span class='iname_a'>opj_start_compress <span class='sym_p'>( <span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span>,</span> <span class='nowrap'>opj_stream_t* <i>p_stream</i> )</span></span></span><br/>
+<div class='affect'>Field 'p_image.color_space' in 2nd parameter 'p_image' (pointer) has base type 'enum COLOR_SPACE'.</div>
+</div>
+</div>
+<br/><br/></div>
+
+<span class="section" onclick="javascript:showContent(this, 'c_5')">
+<span class='ext'>[+]</span> <span class='ttype'>enum</span> PROG_ORDER <span class='failed'> 1 </span></span>
+<br/>
+<div id="c_5" style="display:none;">
+<table class='ptable'><tr>
+<th width='2%'></th><th width='47%'>Change</th>
+<th>Effect</th></tr><tr>
+<th>1</th>
+<td>Value of member <b>OPJ_PROG_UNKNOWN</b> has been changed from <b>-1</b> to <span class='iname_b'>18446744073709551615 <span class='sym_p'>( <span class='nowrap'>-1 )</span></span></span>.</td>
+<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
+</tr>
+</table>
+<span class="sect_aff" onclick="javascript:showContent(this, 'c_6')">
+[+] affected symbols: 5 (10%)</span>
+<div id="c_6" style="display:none;">
+<div class='affected'><span class='iname_a'>opj_destroy_cstr_info <span class='sym_p'>( <span class='nowrap'>opj_codestream_info_v2_t** <span class='fp'>cstr_info</span> )</span></span></span><br/>
+<div class='affect'>Field 'cstr_info.m_default_tile_info.prg' in 1st parameter 'cstr_info' (pointer) has base type 'enum PROG_ORDER'.</div>
+<span class='iname_a'>opj_get_cstr_info <span class='sym_p'>( <span class='nowrap'>opj_codec_t* <i>p_codec</i> )</span></span></span><br/>
+<div class='affect'>Field 'retval.m_default_tile_info.prg' in return value (pointer) has base type 'enum PROG_ORDER'.</div>
+<span class='iname_a'>opj_set_default_encoder_parameters <span class='sym_p'>( <span class='nowrap'>opj_cparameters_t* <span class='fp'>parameters</span> )</span></span></span><br/>
+<div class='affect'>Field 'parameters.POC.prg' in 1st parameter 'parameters' (pointer) has base type 'enum PROG_ORDER'.</div>
+<span class='iname_a'>opj_set_MCT <span class='sym_p'>( opj_cparameters_t* <span class='fp'>parameters</span>, <span class='nowrap'>OPJ_FLOAT32* <i>pEncodingMatrix</i>,</span> <span class='nowrap'>OPJ_INT32* <i>p_dc_shift</i>,</span> <span class='nowrap'>OPJ_UINT32 <i>pNbComp</i> )</span></span></span><br/>
+<div class='affect'>Field 'parameters.POC.prg' in 1st parameter 'parameters' (pointer) has base type 'enum PROG_ORDER'.</div>
+<span class='iname_a'>opj_setup_encoder <span class='sym_p'>( <span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> opj_cparameters_t* <span class='fp'>parameters</span>, <span class='nowrap'>opj_image_t* <i>p_image</i> )</span></span></span><br/>
+<div class='affect'>Field 'parameters.POC.prg' in 2nd parameter 'parameters' (pointer) has base type 'enum PROG_ORDER'.</div>
+</div>
+</div>
+<br/><br/></div>
+
+<br/>
+<a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Headers'></a><h2>Header Files <span class='gray'> 1 </span></h2><hr/>
+<div class='h_list'>
+openjpeg.h<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Sources'></a><h2>Source Files <span class='gray'> 4 </span></h2><hr/>
+<div class='h_list'>
+cio.c<br/>
+image.c<br/>
+openjpeg.c<br/>
+thread.c<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Libs'></a><h2>Objects <span class='gray'> 1 </span></h2><hr/>
+<div class='lib_list'>
+libopenjp2.so.2.4.0<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+</div>
+<br/><br/><br/>
+<hr/>
+<div class='footer' align='right'><i>Generated by <a href='http://lvc.github.io/abi-compliance-checker/'>ABI Compliance Checker</a> 1.99.21  </i>
+</div>
+<br/>
+
+</body></html>
--- /dev/null
+{
+ "Affected": "15",
+ "Added": 1,
+ "Removed": 0,
+ "TotalProblems": 3,
+ "Object1": "lib/libopenjp2.so.2.4.0",
+ "Object2": "lib/libopenjp2.so.2.5.0"
+}
\ No newline at end of file
--- /dev/null
+<!-- verdict:compatible;affected:0;added:0;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;tool_version:1.99.21 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="keywords" content="libopenjp2, binary compatibility, API, report" />
+<meta name="description" content="Binary compatibility report for the libopenjp2 object between 2.5.0 and current versions on x86_64" />
+<title>libopenjp2: 2.5.0 to current binary compatibility report</title>
+<style type="text/css">
+body {
+ font-family:Arial, sans-serif;
+ background-color:White;
+ color:Black;
+}
+hr {
+ color:Black;
+ background-color:Black;
+ height:1px;
+ border:0;
+}
+h1 {
+ margin-bottom:0px;
+ padding-bottom:0px;
+ font-size:1.625em;
+}
+h2 {
+ margin-bottom:0px;
+ padding-bottom:0px;
+ font-size:1.25em;
+ white-space:nowrap;
+}
+span.section {
+ font-weight:bold;
+ cursor:pointer;
+ color:#003E69;
+ white-space:nowrap;
+ margin-left:5px;
+}
+span.new_sign {
+ font-weight:bold;
+ margin-left:26px;
+ color:#003E69;
+}
+span.new_sign_lbl {
+ margin-left:28px;
+ font-size:0.875em;
+ color:Black;
+}
+span:hover.section {
+ color:#336699;
+}
+span.sect_aff {
+ cursor:pointer;
+ margin-left:7px;
+ padding-left:15px;
+ font-size:0.875em;
+ color:#cc3300;
+}
+span.sect_info {
+ cursor:pointer;
+ margin-left:7px;
+ padding-left:15px;
+ font-size:0.875em;
+ color:Black;
+}
+span.ext {
+ font-weight:100;
+}
+span.h_name {
+ color:#cc3300;
+ font-size:0.875em;
+ font-weight:bold;
+}
+div.h_list, div.lib_list {
+ font-size:0.94em;
+ padding-left:5px;
+}
+span.ns {
+ color:#408080;
+ font-size:0.94em;
+}
+span.lib_name {
+ color:Green;
+ font-size:0.875em;
+ font-weight:bold;
+}
+span.iname {
+ font-weight:bold;
+ color:#003E69;
+ margin-left:5px;
+}
+span.iname_b {
+ font-weight:bold;
+ font-size:1.1em;
+}
+span.iname_a {
+ color:#333333;
+ font-weight:bold;
+ font-size:0.94em;
+}
+span.sym_p {
+ font-weight:normal;
+ white-space:normal;
+}
+div.affect {
+ padding-left:15px;
+ padding-bottom:10px;
+ font-size:0.87em;
+ font-style:italic;
+ line-height:0.75em;
+}
+div.affected {
+ padding-left:30px;
+ padding-top:10px;
+}
+table.ptable {
+ border-collapse:collapse;
+ border:1px outset black;
+ line-height:1em;
+ margin-left:15px;
+ margin-top:3px;
+ margin-bottom:3px;
+ width:900px;
+
+}
+table.ptable td {
+ border:1px solid gray;
+ padding: 3px;
+ font-size:0.875em;
+ text-align:left;
+ vertical-align:top;
+}
+table.vtable {
+ border-collapse:collapse;
+ border:1px outset black;
+ line-height:16px;
+ margin-left:30px;
+ margin-top:10px;
+}
+table.vtable td {
+ border:1px solid gray;
+ word-wrap:break-word;
+ padding: 3px;
+ font-size:0.875em;
+ max-width:450px;
+ vertical-align:top;
+}
+table.ptable th, table.vtable th {
+ background-color:#eeeeee;
+ font-weight:bold;
+ color:#333333;
+ font-family:Verdana, Arial;
+ font-size:0.81em;
+ border:1px solid gray;
+ text-align:center;
+ vertical-align:top;
+ white-space:nowrap;
+ padding: 3px;
+}
+table.summary {
+ border-collapse:collapse;
+ border:1px outset black;
+}
+table.summary th {
+ background-color:#eeeeee;
+ font-weight:100;
+ text-align:left;
+ font-size:0.94em;
+ white-space:nowrap;
+ border:1px inset gray;
+ padding: 3px;
+}
+table.summary td {
+ text-align:right;
+ white-space:nowrap;
+ border:1px inset gray;
+ padding: 3px 5px 3px 10px;
+}
+span.mangled {
+ padding-left:15px;
+ font-size:0.875em;
+ cursor:text;
+ color:#444444;
+}
+span.sym_ver {
+ color:#333333;
+ white-space:nowrap;
+ font-family:"DejaVu Sans Mono", Monospace;
+}
+span.attr {
+ color:#333333;
+ font-weight:100;
+}
+span.color_p {
+ font-style:italic;
+ color:Brown;
+}
+span.p {
+ font-style:italic;
+}
+span.fp {
+ font-style:italic;
+ background-color:#DCDCDC;
+}
+span.ttype {
+ font-weight:100;
+}
+span.nowrap {
+ white-space:nowrap;
+}
+span.value {
+ white-space:nowrap;
+ font-weight:bold;
+}
+.passed {
+ background-color:#CCFFCC;
+}
+.warning {
+ background-color:#F4F4AF;
+}
+.failed {
+ background-color:#FFCCCC;
+}
+.new {
+ background-color:#C6DEFF;
+}
+.compatible {
+ background-color:#CCFFCC;
+}
+.almost_compatible {
+ background-color:#FFDAA3;
+}
+.incompatible {
+ background-color:#FFCCCC;
+}
+.gray {
+ background-color:#DCDCDC;
+}
+.top_ref {
+ font-size:0.69em;
+}
+.footer {
+ font-size:0.75em;
+}
+</style>
+<script type="text/javascript" language="JavaScript">
+<!--
+function showContent(header, id)
+{
+ e = document.getElementById(id);
+ if(e.style.display == 'none')
+ {
+ e.style.display = 'block';
+ e.style.visibility = 'visible';
+ header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[−]");
+ }
+ else
+ {
+ e.style.display = 'none';
+ e.style.visibility = 'hidden';
+ header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]");
+ }
+}
+-->
+</script>
+</head>
+
+<body>
+<div><a name='Top'></a>
+<h1>Binary compatibility report for the <span style='color:Blue;'>libopenjp2.so</span> object between <span style='color:Red;'>2.5.0</span> and <span style='color:Red;'>current</span> versions on <span style='color:Blue;'>x86_64</span></h1>
+
+<h2>Test Info</h2><hr/>
+<table class='summary'>
+<tr><th>Module Name</th><td>libopenjp2</td></tr>
+<tr><th>Version #1</th><td>2.5.0</td></tr>
+<tr><th>Version #2</th><td>current</td></tr>
+<tr><th>CPU Type</th><td>x86_64</td></tr>
+<tr><th>GCC Version</th><td>9.4.0</td></tr>
+</table>
+<h2>Test Results</h2><hr/>
+<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>1</a></td></tr>
+<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr>
+<tr><th>Total Symbols / Types</th><td>51 / 114</td></tr>
+<tr><th>Compatibility</th>
+<td class='compatible'>100%</td>
+</tr>
+</table>
+<h2>Problem Summary</h2><hr/>
+<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td>0</td></tr>
+<tr><th>Removed Symbols</th><td>High</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
+</table>
+
+<a name='Headers'></a><h2>Header Files <span class='gray'> 1 </span></h2><hr/>
+<div class='h_list'>
+openjpeg.h<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Libs'></a><h2>Objects <span class='gray'> 1 </span></h2><hr/>
+<div class='lib_list'>
+libopenjp2.so.2.5.0<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+</div>
+<br/><br/><br/>
+<hr/>
+<div class='footer' align='right'><i>Generated by <a href='http://lvc.github.io/abi-compliance-checker/'>ABI Compliance Checker</a> 1.99.21  </i>
+</div>
+<br/>
+
+</body></html>
--- /dev/null
+{
+ "Affected": "0",
+ "Added": 0,
+ "Removed": 0,
+ "TotalProblems": 0,
+ "Object1": "lib/libopenjp2.so.2.5.0",
+ "Object2": "lib/libopenjp2.so.2.5.0"
+}
\ No newline at end of file
--- /dev/null
+<!-- verdict:compatible;affected:0;added:1;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;type_changes_other:3;tool_version:1.99.21 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="keywords" content="openjpeg, source compatibility, API, report" />
+<meta name="description" content="Source compatibility report for the openjpeg object between 2.4.0 and 2.5.0 versions" />
+<title>openjpeg: 2.4.0 to 2.5.0 source compatibility report</title>
+<style type="text/css">
+body {
+ font-family:Arial, sans-serif;
+ background-color:White;
+ color:Black;
+}
+hr {
+ color:Black;
+ background-color:Black;
+ height:1px;
+ border:0;
+}
+h1 {
+ margin-bottom:0px;
+ padding-bottom:0px;
+ font-size:1.625em;
+}
+h2 {
+ margin-bottom:0px;
+ padding-bottom:0px;
+ font-size:1.25em;
+ white-space:nowrap;
+}
+span.section {
+ font-weight:bold;
+ cursor:pointer;
+ color:#003E69;
+ white-space:nowrap;
+ margin-left:5px;
+}
+span.new_sign {
+ font-weight:bold;
+ margin-left:26px;
+ color:#003E69;
+}
+span.new_sign_lbl {
+ margin-left:28px;
+ font-size:0.875em;
+ color:Black;
+}
+span:hover.section {
+ color:#336699;
+}
+span.sect_aff {
+ cursor:pointer;
+ margin-left:7px;
+ padding-left:15px;
+ font-size:0.875em;
+ color:#cc3300;
+}
+span.sect_info {
+ cursor:pointer;
+ margin-left:7px;
+ padding-left:15px;
+ font-size:0.875em;
+ color:Black;
+}
+span.ext {
+ font-weight:100;
+}
+span.h_name {
+ color:#cc3300;
+ font-size:0.875em;
+ font-weight:bold;
+}
+div.h_list, div.lib_list {
+ font-size:0.94em;
+ padding-left:5px;
+}
+span.ns {
+ color:#408080;
+ font-size:0.94em;
+}
+span.lib_name {
+ color:Green;
+ font-size:0.875em;
+ font-weight:bold;
+}
+span.iname {
+ font-weight:bold;
+ color:#003E69;
+ margin-left:5px;
+}
+span.iname_b {
+ font-weight:bold;
+ font-size:1.1em;
+}
+span.iname_a {
+ color:#333333;
+ font-weight:bold;
+ font-size:0.94em;
+}
+span.sym_p {
+ font-weight:normal;
+ white-space:normal;
+}
+div.affect {
+ padding-left:15px;
+ padding-bottom:10px;
+ font-size:0.87em;
+ font-style:italic;
+ line-height:0.75em;
+}
+div.affected {
+ padding-left:30px;
+ padding-top:10px;
+}
+table.ptable {
+ border-collapse:collapse;
+ border:1px outset black;
+ line-height:1em;
+ margin-left:15px;
+ margin-top:3px;
+ margin-bottom:3px;
+ width:900px;
+
+}
+table.ptable td {
+ border:1px solid gray;
+ padding: 3px;
+ font-size:0.875em;
+ text-align:left;
+ vertical-align:top;
+}
+table.vtable {
+ border-collapse:collapse;
+ border:1px outset black;
+ line-height:16px;
+ margin-left:30px;
+ margin-top:10px;
+}
+table.vtable td {
+ border:1px solid gray;
+ word-wrap:break-word;
+ padding: 3px;
+ font-size:0.875em;
+ max-width:450px;
+ vertical-align:top;
+}
+table.ptable th, table.vtable th {
+ background-color:#eeeeee;
+ font-weight:bold;
+ color:#333333;
+ font-family:Verdana, Arial;
+ font-size:0.81em;
+ border:1px solid gray;
+ text-align:center;
+ vertical-align:top;
+ white-space:nowrap;
+ padding: 3px;
+}
+table.summary {
+ border-collapse:collapse;
+ border:1px outset black;
+}
+table.summary th {
+ background-color:#eeeeee;
+ font-weight:100;
+ text-align:left;
+ font-size:0.94em;
+ white-space:nowrap;
+ border:1px inset gray;
+ padding: 3px;
+}
+table.summary td {
+ text-align:right;
+ white-space:nowrap;
+ border:1px inset gray;
+ padding: 3px 5px 3px 10px;
+}
+span.mangled {
+ padding-left:15px;
+ font-size:0.875em;
+ cursor:text;
+ color:#444444;
+}
+span.sym_ver {
+ color:#333333;
+ white-space:nowrap;
+ font-family:"DejaVu Sans Mono", Monospace;
+}
+span.attr {
+ color:#333333;
+ font-weight:100;
+}
+span.color_p {
+ font-style:italic;
+ color:Brown;
+}
+span.p {
+ font-style:italic;
+}
+span.fp {
+ font-style:italic;
+ background-color:#DCDCDC;
+}
+span.ttype {
+ font-weight:100;
+}
+span.nowrap {
+ white-space:nowrap;
+}
+span.value {
+ white-space:nowrap;
+ font-weight:bold;
+}
+.passed {
+ background-color:#CCFFCC;
+}
+.warning {
+ background-color:#F4F4AF;
+}
+.failed {
+ background-color:#FFCCCC;
+}
+.new {
+ background-color:#C6DEFF;
+}
+.compatible {
+ background-color:#CCFFCC;
+}
+.almost_compatible {
+ background-color:#FFDAA3;
+}
+.incompatible {
+ background-color:#FFCCCC;
+}
+.gray {
+ background-color:#DCDCDC;
+}
+.top_ref {
+ font-size:0.69em;
+}
+.footer {
+ font-size:0.75em;
+}
+</style>
+<script type="text/javascript" language="JavaScript">
+<!--
+function showContent(header, id)
+{
+ e = document.getElementById(id);
+ if(e.style.display == 'none')
+ {
+ e.style.display = 'block';
+ e.style.visibility = 'visible';
+ header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[−]");
+ }
+ else
+ {
+ e.style.display = 'none';
+ e.style.visibility = 'hidden';
+ header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]");
+ }
+}
+-->
+</script>
+</head>
+
+<body>
+<div><a name='Top'></a>
+<h1>Source compatibility report for the <span style='color:Blue;'>libopenjp2.so</span> object between <span style='color:Red;'>2.4.0</span> and <span style='color:Red;'>2.5.0</span> versions</h1>
+
+<h2>Test Info</h2><hr/>
+<table class='summary'>
+<tr><th>Module Name</th><td>openjpeg</td></tr>
+<tr><th>Version #1</th><td>2.4.0 (gcc 4.8.5)</td></tr>
+<tr><th>Version #2</th><td>2.5.0 (gcc 9.4.0)</td></tr>
+<tr><th>CPU Type</th><td>x86_64</td></tr>
+</table>
+<h2>Test Results</h2><hr/>
+<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>1</a></td></tr>
+<tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>4</a></td></tr>
+<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr>
+<tr><th>Total Symbols / Types</th><td>50 / 114</td></tr>
+<tr><th>Compatibility</th>
+<td class='compatible'>100%</td>
+</tr>
+</table>
+<h2>Problem Summary</h2><hr/>
+<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Added' style='color:Blue;'>1</a></td></tr>
+<tr><th>Removed Symbols</th><td>High</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
+<tr><th>Other Changes<br/>in Data Types</th><td>-</td><td class='passed'><a href='#Other_Changes_In_Types' style='color:Blue;'>3</a></td></tr>
+</table>
+
+<a name='Added'></a><h2>Added Symbols <span class='new'> 1 </span></h2><hr/>
+<span class='h_name'>openjpeg.h</span><br/>
+<span class="iname">opj_decoder_set_strict_mode <span class='sym_p'>( opj_codec_t* <span class='color_p'>p_codec</span>, <span class='nowrap'>OPJ_BOOL <span class='color_p'>strict</span> )</span></span></span><br/>
+<br/>
+<a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Other_Changes'></a><a name='Other_Changes_In_Types'></a>
+<h2>Other Changes in Data Types <span class='passed'> 3 </span></h2><hr/>
+<span class='h_name'>openjpeg.h</span><br/>
+<span class="section" onclick="javascript:showContent(this, 'c_1')">
+<span class='ext'>[+]</span> <span class='ttype'>enum</span> CODEC_FORMAT <span class='passed'> 1 </span></span>
+<br/>
+<div id="c_1" style="display:none;">
+<table class='ptable'><tr>
+<th width='2%'></th><th width='47%'>Change</th>
+<th>Effect</th></tr><tr>
+<th>1</th>
+<td>Value of member <b>OPJ_CODEC_UNKNOWN</b> has been changed from <b>-1</b> to <span class='iname_b'>18446744073709551615 <span class='sym_p'>( <span class='nowrap'>-1 )</span></span></span>.</td>
+<td>No effect.</td>
+</tr>
+</table>
+<span class="sect_aff" onclick="javascript:showContent(this, 'c_2')">
+[+] affected symbols: 2 (4%)</span>
+<div id="c_2" style="display:none;">
+<div class='affected'><span class='iname_a'>opj_create_compress <span class='sym_p'>( <span class='nowrap'>OPJ_CODEC_FORMAT <span class='fp'>p_format</span> )</span></span></span><br/>
+<div class='affect'>1st parameter 'p_format' has base type 'enum CODEC_FORMAT'.</div>
+<span class='iname_a'>opj_create_decompress <span class='sym_p'>( <span class='nowrap'>OPJ_CODEC_FORMAT <span class='fp'>p_format</span> )</span></span></span><br/>
+<div class='affect'>1st parameter 'p_format' has base type 'enum CODEC_FORMAT'.</div>
+</div>
+</div>
+<br/><br/></div>
+
+<span class="section" onclick="javascript:showContent(this, 'c_3')">
+<span class='ext'>[+]</span> <span class='ttype'>enum</span> COLOR_SPACE <span class='passed'> 1 </span></span>
+<br/>
+<div id="c_3" style="display:none;">
+<table class='ptable'><tr>
+<th width='2%'></th><th width='47%'>Change</th>
+<th>Effect</th></tr><tr>
+<th>1</th>
+<td>Value of member <b>OPJ_CLRSPC_UNKNOWN</b> has been changed from <b>-1</b> to <span class='iname_b'>18446744073709551615 <span class='sym_p'>( <span class='nowrap'>-1 )</span></span></span>.</td>
+<td>No effect.</td>
+</tr>
+</table>
+<span class="sect_aff" onclick="javascript:showContent(this, 'c_4')">
+[+] affected symbols: 9 (18%)</span>
+<div id="c_4" style="display:none;">
+<div class='affected'><span class='iname_a'>opj_decode <span class='sym_p'>( <span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_stream_t* <i>p_stream</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span> )</span></span></span><br/>
+<div class='affect'>Field 'p_image.color_space' in 3rd parameter 'p_image' (pointer) has base type 'enum COLOR_SPACE'.</div>
+<span class='iname_a'>opj_get_decoded_tile <span class='sym_p'>( <span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_stream_t* <i>p_stream</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span>,</span> <span class='nowrap'>OPJ_UINT32 <i>tile_index</i> )</span></span></span><br/>
+<div class='affect'>Field 'p_image.color_space' in 3rd parameter 'p_image' (pointer) has base type 'enum COLOR_SPACE'.</div>
+<span class='iname_a'>opj_image_create <span class='sym_p'>( <span class='nowrap'>OPJ_UINT32 <i>numcmpts</i>,</span> <span class='nowrap'>opj_image_cmptparm_t* <i>cmptparms</i>,</span> <span class='nowrap'>OPJ_COLOR_SPACE <span class='fp'>clrspc</span> )</span></span></span><br/>
+<div class='affect'>3rd parameter 'clrspc' has base type 'enum COLOR_SPACE'.</div>
+<span class='iname_a'>opj_image_destroy <span class='sym_p'>( <span class='nowrap'>opj_image_t* <span class='fp'>image</span> )</span></span></span><br/>
+<div class='affect'>Field 'image.color_space' in 1st parameter 'image' (pointer) has base type 'enum COLOR_SPACE'.</div>
+<span class='iname_a'>opj_image_tile_create <span class='sym_p'>( <span class='nowrap'>OPJ_UINT32 <i>numcmpts</i>,</span> <span class='nowrap'>opj_image_cmptparm_t* <i>cmptparms</i>,</span> <span class='nowrap'>OPJ_COLOR_SPACE <span class='fp'>clrspc</span> )</span></span></span><br/>
+<div class='affect'>3rd parameter 'clrspc' has base type 'enum COLOR_SPACE'.</div>
+<span class='iname_a'>opj_read_header <span class='sym_p'>( <span class='nowrap'>opj_stream_t* <i>p_stream</i>,</span> <span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_image_t** <span class='fp'>p_image</span> )</span></span></span><br/>
+<div class='affect'>Field 'p_image.color_space' in 3rd parameter 'p_image' (pointer) has base type 'enum COLOR_SPACE'.</div>
+<span class='iname_a'>opj_set_decode_area <span class='sym_p'>( <span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span>,</span> <span class='nowrap'>OPJ_INT32 <i>p_start_x</i>,</span> <span class='nowrap'>OPJ_INT32 <i>p_start_y</i>,</span> <span class='nowrap'>OPJ_INT32 <i>p_end_x</i>,</span> <span class='nowrap'>OPJ_INT32 <i>p_end_y</i> )</span></span></span><br/>
+<div class='affect'>Field 'p_image.color_space' in 2nd parameter 'p_image' (pointer) has base type 'enum COLOR_SPACE'.</div>
+<span class='iname_a'>opj_setup_encoder <span class='sym_p'>( <span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_cparameters_t* <i>parameters</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span> )</span></span></span><br/>
+<div class='affect'>Field 'p_image.color_space' in 3rd parameter 'p_image' (pointer) has base type 'enum COLOR_SPACE'.</div>
+<span class='iname_a'>opj_start_compress <span class='sym_p'>( <span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span>,</span> <span class='nowrap'>opj_stream_t* <i>p_stream</i> )</span></span></span><br/>
+<div class='affect'>Field 'p_image.color_space' in 2nd parameter 'p_image' (pointer) has base type 'enum COLOR_SPACE'.</div>
+</div>
+</div>
+<br/><br/></div>
+
+<span class="section" onclick="javascript:showContent(this, 'c_5')">
+<span class='ext'>[+]</span> <span class='ttype'>enum</span> PROG_ORDER <span class='passed'> 1 </span></span>
+<br/>
+<div id="c_5" style="display:none;">
+<table class='ptable'><tr>
+<th width='2%'></th><th width='47%'>Change</th>
+<th>Effect</th></tr><tr>
+<th>1</th>
+<td>Value of member <b>OPJ_PROG_UNKNOWN</b> has been changed from <b>-1</b> to <span class='iname_b'>18446744073709551615 <span class='sym_p'>( <span class='nowrap'>-1 )</span></span></span>.</td>
+<td>No effect.</td>
+</tr>
+</table>
+<span class="sect_aff" onclick="javascript:showContent(this, 'c_6')">
+[+] affected symbols: 5 (10%)</span>
+<div id="c_6" style="display:none;">
+<div class='affected'><span class='iname_a'>opj_destroy_cstr_info <span class='sym_p'>( <span class='nowrap'>opj_codestream_info_v2_t** <span class='fp'>cstr_info</span> )</span></span></span><br/>
+<div class='affect'>Field 'cstr_info.m_default_tile_info.prg' in 1st parameter 'cstr_info' (pointer) has base type 'enum PROG_ORDER'.</div>
+<span class='iname_a'>opj_get_cstr_info <span class='sym_p'>( <span class='nowrap'>opj_codec_t* <i>p_codec</i> )</span></span></span><br/>
+<div class='affect'>Field 'retval.m_default_tile_info.prg' in return value (pointer) has base type 'enum PROG_ORDER'.</div>
+<span class='iname_a'>opj_set_default_encoder_parameters <span class='sym_p'>( <span class='nowrap'>opj_cparameters_t* <span class='fp'>parameters</span> )</span></span></span><br/>
+<div class='affect'>Field 'parameters.POC.prg' in 1st parameter 'parameters' (pointer) has base type 'enum PROG_ORDER'.</div>
+<span class='iname_a'>opj_set_MCT <span class='sym_p'>( opj_cparameters_t* <span class='fp'>parameters</span>, <span class='nowrap'>OPJ_FLOAT32* <i>pEncodingMatrix</i>,</span> <span class='nowrap'>OPJ_INT32* <i>p_dc_shift</i>,</span> <span class='nowrap'>OPJ_UINT32 <i>pNbComp</i> )</span></span></span><br/>
+<div class='affect'>Field 'parameters.POC.prg' in 1st parameter 'parameters' (pointer) has base type 'enum PROG_ORDER'.</div>
+<span class='iname_a'>opj_setup_encoder <span class='sym_p'>( <span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> opj_cparameters_t* <span class='fp'>parameters</span>, <span class='nowrap'>opj_image_t* <i>p_image</i> )</span></span></span><br/>
+<div class='affect'>Field 'parameters.POC.prg' in 2nd parameter 'parameters' (pointer) has base type 'enum PROG_ORDER'.</div>
+</div>
+</div>
+<br/><br/></div>
+
+<br/>
+<a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Headers'></a><h2>Header Files <span class='gray'> 1 </span></h2><hr/>
+<div class='h_list'>
+openjpeg.h<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Sources'></a><h2>Source Files <span class='gray'> 4 </span></h2><hr/>
+<div class='h_list'>
+cio.c<br/>
+image.c<br/>
+openjpeg.c<br/>
+thread.c<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Libs'></a><h2>Objects <span class='gray'> 1 </span></h2><hr/>
+<div class='lib_list'>
+libopenjp2.so.2.4.0<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+</div>
+<br/><br/><br/>
+<hr/>
+<div class='footer' align='right'><i>Generated by <a href='http://lvc.github.io/abi-compliance-checker/'>ABI Compliance Checker</a> 1.99.21  </i>
+</div>
+<br/>
+
+</body></html>
'2.2.0' => 'Off',
'2.3.0' => 'Off',
'2.3.1' => 'Off',
- '2.4.0' => 'Off'
+ '2.4.0' => 'Off',
+ '2.5.0' => 'Off'
},
'Installed' => {
'1.1' => 'installed/openjpeg/1.1',
'2.3.0' => 'installed/openjpeg/2.3.0',
'2.3.1' => 'installed/openjpeg/2.3.1',
'2.4.0' => 'installed/openjpeg/2.4.0',
+ '2.5.0' => 'installed/openjpeg/2.5.0',
'current' => 'installed/openjpeg/current'
},
+ 'ScmUpdateTime' => '1652463409',
'Source' => {
'1.0' => 'src/openjpeg/1.0/version.1.0.tar.gz',
'1.1' => 'src/openjpeg/1.1/version.1.1.tar.gz',
'2.3.0' => 'src/openjpeg/2.3.0/version.-2.3.0.tar.gz',
'2.3.1' => 'src/openjpeg/2.3.1/version.-2.3.1.tar.gz',
'2.4.0' => 'src/openjpeg/2.4.0/version.-2.4.0.tar.gz',
+ '2.5.0' => 'src/openjpeg/2.5.0/version.-2.5.0.tar.gz',
'current' => 'src/openjpeg/current'
}
};
'Version' => '1.7'
}
},
+ '2.5.0' => {
+ 'f3fd9' => {
+ 'Lang' => 'C',
+ 'Object' => 'lib/libopenjp2.so.2.5.0',
+ 'Path' => 'abi_dump/openjpeg/2.5.0/f3fd9/ABI.dump',
+ 'TotalSymbols' => '51',
+ 'TotalSymbolsFiltered' => '51',
+ 'Version' => '1.7'
+ }
+ },
'current' => {
'f3fd9' => {
'Lang' => 'C',
'Object' => 'lib/libopenjp2.so.2.5.0',
'Path' => 'abi_dump/openjpeg/current/f3fd9/ABI.dump',
- 'TotalSymbols' => '50',
+ 'TotalSymbols' => '51',
'Version' => '1.7'
}
}
}
},
'2.4.0' => {
+ '2.5.0' => {
+ 'Added' => 1,
+ 'BC' => 85,
+ 'ChangedSoname' => 0,
+ 'ObjectsAdded' => 0,
+ 'ObjectsAddedSymbols' => 0,
+ 'ObjectsRemoved' => 0,
+ 'ObjectsRemovedSymbols' => 0,
+ 'Path' => 'objects_report/openjpeg/2.4.0/2.5.0/report.html',
+ 'Removed' => 0,
+ 'TotalObjects' => 1,
+ 'TotalProblems' => 3
+ },
'current' => {
'Added' => 0,
'BC' => 100,
'TotalObjects' => 1,
'TotalProblems' => 0
}
+ },
+ '2.5.0' => {
+ 'current' => {
+ 'Added' => 0,
+ 'BC' => 100,
+ 'ChangedSoname' => 0,
+ 'ObjectsAdded' => 0,
+ 'ObjectsAddedSymbols' => 0,
+ 'ObjectsRemoved' => 0,
+ 'ObjectsRemovedSymbols' => 0,
+ 'Path' => 'objects_report/openjpeg/2.5.0/current/report.html',
+ 'Removed' => 0,
+ 'TotalObjects' => 1,
+ 'TotalProblems' => 0
+ }
}
},
'ABIReport_D' => {
}
},
'2.4.0' => {
+ '2.5.0' => {
+ 'c6917' => {
+ 'Added' => 1,
+ 'Affected' => 15,
+ 'Object1' => 'lib/libopenjp2.so.2.4.0',
+ 'Object2' => 'lib/libopenjp2.so.2.5.0',
+ 'Path' => 'compat_report/openjpeg/2.4.0/2.5.0/c6917/abi_compat_report.html',
+ 'Removed' => 0,
+ 'TotalProblems' => 3
+ }
+ },
'current' => {
'c6917' => {
'Added' => 0,
'TotalProblems' => 0
}
}
+ },
+ '2.5.0' => {
+ 'current' => {
+ 'b7dce' => {
+ 'Added' => 0,
+ 'Affected' => 0,
+ 'Object1' => 'lib/libopenjp2.so.2.5.0',
+ 'Object2' => 'lib/libopenjp2.so.2.5.0',
+ 'Path' => 'compat_report/openjpeg/2.5.0/current/b7dce/abi_compat_report.html',
+ 'Removed' => 0,
+ 'TotalProblems' => 0
+ }
+ }
}
},
'ABIView' => {},
'2.1.2' => 'changelog/openjpeg/2.1.2/log.html',
'2.2.0' => 'changelog/openjpeg/2.2.0/log.html',
'2.3.0' => 'changelog/openjpeg/2.3.0/log.html',
+ '2.4.0' => 'changelog/openjpeg/2.4.0/log.html',
+ '2.5.0' => 'changelog/openjpeg/2.5.0/log.html',
'current' => 'changelog/openjpeg/current/log.html'
},
'Date' => {
'2.3.0' => '2017-10-04 22:23',
'2.3.1' => '2019-04-02 10:08',
'2.4.0' => '2020-12-28 20:59',
- 'current' => '2021-06-09 11:53:56'
+ '2.5.0' => '2022-05-13 18:54',
+ 'current' => '2022-05-13 19:13:11'
},
'HeadersDiff' => {
'1.1' => {
}
},
'2.4.0' => {
+ '2.5.0' => {
+ 'Path' => 'headers_diff/openjpeg/2.4.0/2.5.0/diff.html',
+ 'Total' => 2
+ },
'current' => {
'Path' => 'headers_diff/openjpeg/2.4.0/current/diff.html',
'Total' => 2
}
+ },
+ '2.5.0' => {
+ 'current' => {
+ 'Path' => 'headers_diff/openjpeg/2.5.0/current/diff.html',
+ 'Total' => 0
+ }
}
},
'Maintainer' => 'OpenJPEG team',
'MaintainerUrl' => 'http://www.openjpeg.org/',
'PackageDiff' => {},
- 'ScmUpdateTime' => '1623232683',
+ 'ScmUpdateTime' => '1652463409',
'Soname' => {
'1.1' => {
'lib/libopenjpeg.so' => 'libopenjpeg.so'
'2.4.0' => {
'lib/libopenjp2.so.2.4.0' => 'libopenjp2.so.7'
},
+ '2.5.0' => {
+ 'lib/libopenjp2.so.2.5.0' => 'libopenjp2.so.7'
+ },
'current' => {
'lib/libopenjp2.so.2.5.0' => 'libopenjp2.so.7'
}
'2.3.0' => '7',
'2.3.1' => '7',
'2.4.0' => '7',
+ '2.5.0' => '7',
'current' => '7'
},
'Title' => 'OpenJPEG'
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="keywords" content="OpenJPEG, header, diff" />
+ <meta name="description" content="Diff for header files between 2.4.0 and 2.5.0 versions of openjpeg" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/headers_diff.css" />
+
+
+ <title>
+ OpenJPEG: headers diff between 2.4.0 and 2.5.0 versions
+ </title>
+
+ </head>
+
+<body>
+<table width='100%' cellpadding='0' cellspacing='0'><tr><td><table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Headers diff: <span class='version'>2.4.0</span> vs <span class='version'>2.5.0</span></h1><br/><br/>
+ <table class='diff_tbl' border="0" cellpadding="0" cellspacing="0">
+ <tr id="part-1" bgcolor="orange"><th></th><th> openjpeg.h (2.4.0) </th><th> </th><th> openjpeg.h (2.5.0) </th><th></th></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr id="part-1" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-1"><em> line 78<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-1"><em> line 78<span class="hide"> ¶</span></em></a></th><td></td></tr>
+ <tr><td class="lineno"></td><td class="left">/* deprecated attribute */</td><td> </td><td class="right">/* deprecated attribute */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">#ifdef __GNUC__</td><td> </td><td class="right">#ifdef __GNUC__</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">#define OPJ_DEPRECATED(func) func __attribute__ ((deprecated))</td><td> </td><td class="right">#define OPJ_DEPRECATED(func) func __attribute__ ((deprecated))</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">#elif defined(_MSC_VER)</td><td> </td><td class="right">#elif defined(_MSC_VER)</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">#define OPJ_DEPRECATED(func) __declspec(deprecated) func</td><td> </td><td class="right">#define OPJ_DEPRECATED(func) __declspec(deprecated) func</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">#else</td><td> </td><td class="right">#else</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">#pragma message("WARNING: You need to implement DEPRECATED for this compile
+r")</td><td> </td><td class="right">#pragma message("WARNING: You need to implement DEPRECATED for this compile
+r")</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">#define OPJ_DEPRECATED(func) func</td><td> </td><td class="right">#define OPJ_DEPRECATED(func) func</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">#endif</td><td> </td><td class="right">#endif</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr id="diff0001"><td></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#if defined(__GNUC__) && __GNUC__ >= 6</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_DEPRECATED_STRUCT_MEMBER(memb, msg) __attribute__ ((deprecated(</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">msg))) memb</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#else</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_DEPRECATED_STRUCT_MEMBER(memb, msg) memb</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#endif</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">#if defined(OPJ_STATIC) || !defined(_WIN32)</td><td> </td><td class="right">#if defined(OPJ_STATIC) || !defined(_WIN32)</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">/* http://gcc.gnu.org/wiki/Visibility */</td><td> </td><td class="right">/* http://gcc.gnu.org/wiki/Visibility */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"># if !defined(_WIN32) && __GNUC__ >= 4</td><td> </td><td class="right"># if !defined(_WIN32) && __GNUC__ >= 4</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"># if defined(OPJ_STATIC) /* static library uses "hidden" */</td><td> </td><td class="right"># if defined(OPJ_STATIC) /* static library uses "hidden" */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"># define OPJ_API __attribute__ ((visibility ("hidden")))</td><td> </td><td class="right"># define OPJ_API __attribute__ ((visibility ("hidden")))</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"># else</td><td> </td><td class="right"># else</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"># define OPJ_API __attribute__ ((visibility ("default")))</td><td> </td><td class="right"># define OPJ_API __attribute__ ((visibility ("default")))</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"># endif</td><td> </td><td class="right"># endif</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"># define OPJ_LOCAL __attribute__ ((visibility ("hidden")))</td><td> </td><td class="right"># define OPJ_LOCAL __attribute__ ((visibility ("hidden")))</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"># else</td><td> </td><td class="right"># else</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr id="part-2" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-2"><em> line 450<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-2"><em> line 456<span class="hide"> ¶</span></em></a></th><td></td></tr>
+ <tr><td class="lineno"></td><td class="left"> int prcw_init[OPJ_J2K_MAXRLVLS];</td><td> </td><td class="right"> int prcw_init[OPJ_J2K_MAXRLVLS];</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** initial precinct height */</td><td> </td><td class="right"> /** initial precinct height */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> int prch_init[OPJ_J2K_MAXRLVLS];</td><td> </td><td class="right"> int prch_init[OPJ_J2K_MAXRLVLS];</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /**@name command line encoder parameters (not used inside the library)
+*/</td><td> </td><td class="right"> /**@name command line encoder parameters (not used inside the library)
+*/</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /*@{*/</td><td> </td><td class="right"> /*@{*/</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** input file name */</td><td> </td><td class="right"> /** input file name */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> char infile[OPJ_PATH_LEN];</td><td> </td><td class="right"> char infile[OPJ_PATH_LEN];</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** output file name */</td><td> </td><td class="right"> /** output file name */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> char outfile[OPJ_PATH_LEN];</td><td> </td><td class="right"> char outfile[OPJ_PATH_LEN];</td><td class="lineno"></td></tr>
+ <tr id="diff0002"><td></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"> /** DEPRECATED. Index generation is now hand<span class="delete">el</span>d with the opj_encode_wit
+h_info() function. Set to NULL */</td><td> </td><td class="rblock"> /** DEPRECATED. Index generation is now hand<span class="insert">le</span>d with the opj_encode_wit
+h_info() function. Set to NULL */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> int index_on;</td><td> </td><td class="right"> int index_on;</td><td class="lineno"></td></tr>
+ <tr id="diff0003"><td></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"> /** DEPRECATED. Index generation is now hand<span class="delete">el</span>d with the opj_encode_wit
+h_info() function. Set to NULL */</td><td> </td><td class="rblock"> /** DEPRECATED. Index generation is now hand<span class="insert">le</span>d with the opj_encode_wit
+h_info() function. Set to NULL */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> char index[OPJ_PATH_LEN];</td><td> </td><td class="right"> char index[OPJ_PATH_LEN];</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** subimage encoding: origin image offset in x direction */</td><td> </td><td class="right"> /** subimage encoding: origin image offset in x direction */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> int image_offset_x0;</td><td> </td><td class="right"> int image_offset_x0;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** subimage encoding: origin image offset in y direction */</td><td> </td><td class="right"> /** subimage encoding: origin image offset in y direction */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> int image_offset_y0;</td><td> </td><td class="right"> int image_offset_y0;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** subsampling value for dx */</td><td> </td><td class="right"> /** subsampling value for dx */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> int subsampling_dx;</td><td> </td><td class="right"> int subsampling_dx;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** subsampling value for dy */</td><td> </td><td class="right"> /** subsampling value for dy */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> int subsampling_dy;</td><td> </td><td class="right"> int subsampling_dy;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** input file format 0: PGX, 1: PxM, 2: BMP 3:TIF*/</td><td> </td><td class="right"> /** input file format 0: PGX, 1: PxM, 2: BMP 3:TIF*/</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr id="part-3" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-3"><em> line 681<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-3"><em> line 687<span class="hide"> ¶</span></em></a></th><td></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** YRsiz: vertical separation of a sample of ith component with respec
+t to the reference grid */</td><td> </td><td class="right"> /** YRsiz: vertical separation of a sample of ith component with respec
+t to the reference grid */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 dy;</td><td> </td><td class="right"> OPJ_UINT32 dy;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** data width */</td><td> </td><td class="right"> /** data width */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 w;</td><td> </td><td class="right"> OPJ_UINT32 w;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** data height */</td><td> </td><td class="right"> /** data height */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 h;</td><td> </td><td class="right"> OPJ_UINT32 h;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** x component offset compared to the whole image */</td><td> </td><td class="right"> /** x component offset compared to the whole image */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 x0;</td><td> </td><td class="right"> OPJ_UINT32 x0;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** y component offset compared to the whole image */</td><td> </td><td class="right"> /** y component offset compared to the whole image */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 y0;</td><td> </td><td class="right"> OPJ_UINT32 y0;</td><td class="lineno"></td></tr>
+ <tr id="diff0004"><td></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"> /** precision */</td><td> </td><td class="rblock"> /** precision<span class="insert">: number of bits per component per pixel</span> */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 prec;</td><td> </td><td class="right"> OPJ_UINT32 prec;</td><td class="lineno"></td></tr>
+ <tr id="diff0005"><td></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"> /** <span class="delete">image depth in bits</span> */</td><td> </td><td class="rblock"> /** <span class="insert">obsolete: use prec instead</span> */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"> <span class="delete">OPJ_UINT32 bpp;</span></td><td> </td><td class="rblock"> <span class="insert">OPJ_DEPRECATED_STRUCT_MEMBER(OPJ_UINT32 bpp, "Use prec instead");</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** signed (1) / unsigned (0) */</td><td> </td><td class="right"> /** signed (1) / unsigned (0) */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 sgnd;</td><td> </td><td class="right"> OPJ_UINT32 sgnd;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** number of decoded resolution */</td><td> </td><td class="right"> /** number of decoded resolution */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 resno_decoded;</td><td> </td><td class="right"> OPJ_UINT32 resno_decoded;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** number of division by 2 of the out image compared to the original s
+ize of image */</td><td> </td><td class="right"> /** number of division by 2 of the out image compared to the original s
+ize of image */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 factor;</td><td> </td><td class="right"> OPJ_UINT32 factor;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** image component data */</td><td> </td><td class="right"> /** image component data */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_INT32 *data;</td><td> </td><td class="right"> OPJ_INT32 *data;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** alpha channel */</td><td> </td><td class="right"> /** alpha channel */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT16 alpha;</td><td> </td><td class="right"> OPJ_UINT16 alpha;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr id="part-4" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-4"><em> line 737<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-4"><em> line 743<span class="hide"> ¶</span></em></a></th><td></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** YRsiz: vertical separation of a sample of ith component with respec
+t to the reference grid */</td><td> </td><td class="right"> /** YRsiz: vertical separation of a sample of ith component with respec
+t to the reference grid */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 dy;</td><td> </td><td class="right"> OPJ_UINT32 dy;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** data width */</td><td> </td><td class="right"> /** data width */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 w;</td><td> </td><td class="right"> OPJ_UINT32 w;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** data height */</td><td> </td><td class="right"> /** data height */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 h;</td><td> </td><td class="right"> OPJ_UINT32 h;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** x component offset compared to the whole image */</td><td> </td><td class="right"> /** x component offset compared to the whole image */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 x0;</td><td> </td><td class="right"> OPJ_UINT32 x0;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** y component offset compared to the whole image */</td><td> </td><td class="right"> /** y component offset compared to the whole image */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 y0;</td><td> </td><td class="right"> OPJ_UINT32 y0;</td><td class="lineno"></td></tr>
+ <tr id="diff0006"><td></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"> /** precision */</td><td> </td><td class="rblock"> /** precision<span class="insert">: number of bits per component per pixel</span> */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 prec;</td><td> </td><td class="right"> OPJ_UINT32 prec;</td><td class="lineno"></td></tr>
+ <tr id="diff0007"><td></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"> /** <span class="delete">image depth in bits</span> */</td><td> </td><td class="rblock"> /** <span class="insert">obsolete: use prec instead</span> */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"> <span class="delete">OPJ_UINT32 bpp;</span></td><td> </td><td class="rblock"> <span class="insert">OPJ_DEPRECATED_STRUCT_MEMBER(OPJ_UINT32 bpp, "Use prec instead");</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** signed (1) / unsigned (0) */</td><td> </td><td class="right"> /** signed (1) / unsigned (0) */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 sgnd;</td><td> </td><td class="right"> OPJ_UINT32 sgnd;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">} opj_image_cmptparm_t;</td><td> </td><td class="right">} opj_image_cmptparm_t;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> Information on the JPEG 2000 codestream</td><td> </td><td class="right"> Information on the JPEG 2000 codestream</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">/* QUITE EXPERIMENTAL FOR THE MOMENT */</td><td> </td><td class="right">/* QUITE EXPERIMENTAL FOR THE MOMENT */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr id="part-5" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-5"><em> line 1333<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-5"><em> line 1339<span class="hide"> ¶</span></em></a></th><td></td></tr>
+ <tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_codec decompressor handler</td><td> </td><td class="right"> * @param p_codec decompressor handler</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param parameters decompression parameters</td><td> </td><td class="right"> * @param parameters decompression parameters</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @return true if the decoder is correctly set</td><td> </td><td class="right"> * @return true if the decoder is correctly set</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_decoder(opj_codec_t *p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_decoder(opj_codec_t *p_codec,</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> opj_dparameters_t *parameters);</td><td> </td><td class="right"> opj_dparameters_t *parameters);</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno"></td></tr>
+ <tr id="diff0008"><td></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">* Set strict decoding parameter for this decoder. If strict decoding is e</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">nabled, partial bit</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * streams will fail to decode. If strict decoding is disabled, the decode</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">r will decode partial</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * bitstreams as much as possible without erroring</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @param p_codec decompressor handler</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @param strict OPJ_TRUE to enable strict decoding, OPJ_FALSE to di</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">sable</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @return true if the decoder is correctly set</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> */</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decoder_set_strict_mode(opj_codec_t *p_co</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">dec,</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> OPJ_BOOL strict);</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/**</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * Allocates worker threads for the compressor/decompressor.</td><td> </td><td class="right"> * Allocates worker threads for the compressor/decompressor.</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * By default, only the main thread is used. If this function is not used,</td><td> </td><td class="right"> * By default, only the main thread is used. If this function is not used,</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * but the OPJ_NUM_THREADS environment variable is set, its value will be</td><td> </td><td class="right"> * but the OPJ_NUM_THREADS environment variable is set, its value will be</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * used to initialize the number of threads. The value can be either an int
+eger</td><td> </td><td class="right"> * used to initialize the number of threads. The value can be either an int
+eger</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * number, or "ALL_CPUS". If OPJ_NUM_THREADS is set and this function is ca
+lled,</td><td> </td><td class="right"> * number, or "ALL_CPUS". If OPJ_NUM_THREADS is set and this function is ca
+lled,</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * this function will override the behaviour of the environment variable.</td><td> </td><td class="right"> * this function will override the behaviour of the environment variable.</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * This function must be called after opj_setup_decoder() and</td><td> </td><td class="right"> * This function must be called after opj_setup_decoder() and</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * before opj_read_header() for the decoding side, or after opj_setup_encod
+er()</td><td> </td><td class="right"> * before opj_read_header() for the decoding side, or after opj_setup_encod
+er()</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr id="part-6" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-6"><em> line 1439<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-6"><em> line 1459<span class="hide"> ¶</span></em></a></th><td></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @return true if success, otherwise false</td><td> </td><td class="right"> * @return true if success, otherwise false</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decode(opj_codec_t *p_decompressor,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decode(opj_codec_t *p_decompressor,</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> opj_stream_t *p_stream,</td><td> </td><td class="right"> opj_stream_t *p_stream,</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> opj_image_t *p_image);</td><td> </td><td class="right"> opj_image_t *p_image);</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * Get the decoded tile from the codec</td><td> </td><td class="right"> * Get the decoded tile from the codec</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_codec the jpeg2000 codec.</td><td> </td><td class="right"> * @param p_codec the jpeg2000 codec.</td><td class="lineno"></td></tr>
+ <tr id="diff0009"><td></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"> * @param p_stream input stream<span class="delete">m</span></td><td> </td><td class="rblock"> * @param p_stream input stream</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_image output image</td><td> </td><td class="right"> * @param p_image output image</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param tile_index index of the tile which will be decode</td><td> </td><td class="right"> * @param tile_index index of the tile which will be decode</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @return true if success, otherwise false</td><td> </td><td class="right"> * @return true if success, otherwise false</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_get_decoded_tile(opj_codec_t *p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_get_decoded_tile(opj_codec_t *p_codec,</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> opj_stream_t *p_stream,</td><td> </td><td class="right"> opj_stream_t *p_stream,</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> opj_image_t *p_image,</td><td> </td><td class="right"> opj_image_t *p_image,</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 tile_index);</td><td> </td><td class="right"> OPJ_UINT32 tile_index);</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr id="part-7" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-7"><em> line 1583<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-7"><em> line 1603<span class="hide"> ¶</span></em></a></th><td></td></tr>
+ <tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * This may be called after opj_setup_encoder() and before opj_start_compre
+ss()</td><td> </td><td class="right"> * This may be called after opj_setup_encoder() and before opj_start_compre
+ss()</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * This is the way to add new options in a fully ABI compatible way, withou
+t</td><td> </td><td class="right"> * This is the way to add new options in a fully ABI compatible way, withou
+t</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * extending the opj_cparameters_t structure.</td><td> </td><td class="right"> * extending the opj_cparameters_t structure.</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * Currently supported options are:</td><td> </td><td class="right"> * Currently supported options are:</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * <ul></td><td> </td><td class="right"> * <ul></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * <li>PLT=YES/NO. Defaults to NO. If set to YES, PLT marker segments,</td><td> </td><td class="right"> * <li>PLT=YES/NO. Defaults to NO. If set to YES, PLT marker segments,</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * indicating the length of each packet in the tile-part header, will b
+e</td><td> </td><td class="right"> * indicating the length of each packet in the tile-part header, will b
+e</td><td class="lineno"></td></tr>
+ <tr id="diff0010"><td></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"> * written. Since <span class="delete">2.3.2</li></span></td><td> </td><td class="rblock"> * written. Since <span class="insert">2.4.0</li></span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * <li>TLM=YES/NO. Defaults to NO (except for Cinema and IMF profiles).</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * If set to YES, TLM marker segments, indicating the length of each</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * tile-part part will be written. Since 2.4.0</li></span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * <li>GUARD_BITS=value. Number of guard bits in [0,7] range. Default value</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> is 2.</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * 1 may be used sometimes (like in SMPTE DCP Bv2.1 Application Profile</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> for 2K images).</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * Since 2.5.0</li></span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * </ul></td><td> </td><td class="right"> * </ul></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_codec Compressor handle</td><td> </td><td class="right"> * @param p_codec Compressor handle</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_options Compression options. This should be a NULL terminat
+ed</td><td> </td><td class="right"> * @param p_options Compression options. This should be a NULL terminat
+ed</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * array of strings. Each string is of the form KEY=VA
+LUE.</td><td> </td><td class="right"> * array of strings. Each string is of the form KEY=VA
+LUE.</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @return OPJ_TRUE in case of success.</td><td> </td><td class="right"> * @return OPJ_TRUE in case of success.</td><td class="lineno"></td></tr>
+ <tr id="diff0011"><td></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"> * @since 2.<span class="delete">3.2</span></td><td> </td><td class="rblock"> * @since 2.<span class="insert">4.0</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_encoder_set_extra_options(</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_encoder_set_extra_options(</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> opj_codec_t *p_codec,</td><td> </td><td class="right"> opj_codec_t *p_codec,</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> const char* const* p_options);</td><td> </td><td class="right"> const char* const* p_options);</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * Start to compress the current image.</td><td> </td><td class="right"> * Start to compress the current image.</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_codec Compressor handle</td><td> </td><td class="right"> * @param p_codec Compressor handle</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_image Input filled image</td><td> </td><td class="right"> * @param p_image Input filled image</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_stream Input stgream</td><td> </td><td class="right"> * @param p_stream Input stgream</td><td class="lineno"></td></tr>
+
+ <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
+ <tr id="end" bgcolor="gray"><th colspan="5" align="center"> End of changes. 11 change blocks. </th></tr>
+ <tr class="stats"><td></td><th><i>11 lines changed or deleted</i></th><th><i> </i></th><th><i>44 lines changed or added</i></th><td></td></tr>
+ <tr><td colspan="5" align="center" class="small"></td></tr>
+ </table>
+ <br/><br/>
+
+ <table class='diff_tbl' border="0" cellpadding="0" cellspacing="0">
+ <tr id="part-1" bgcolor="orange"><th></th><th> opj_config.h (2.4.0) </th><th> </th><th> opj_config.h (2.5.0) </th><th></th></tr>
+ <tr><td class="lineno"></td><td class="left">/* create opj_config.h for CMake */</td><td> </td><td class="right">/* create opj_config.h for CMake */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">#define OPJ_HAVE_STDINT_H 1</td><td> </td><td class="right">#define OPJ_HAVE_STDINT_H 1</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">/*-------------------------------------------------------------------------
+-*/</td><td> </td><td class="right">/*-------------------------------------------------------------------------
+-*/</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">/* OpenJPEG Versioning
+ */</td><td> </td><td class="right">/* OpenJPEG Versioning
+ */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">/* Version number. */</td><td> </td><td class="right">/* Version number. */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">#define OPJ_VERSION_MAJOR 2</td><td> </td><td class="right">#define OPJ_VERSION_MAJOR 2</td><td class="lineno"></td></tr>
+ <tr id="diff0001"><td></td></tr>
+ <tr><td class="lineno"></td><td class="lblock">#define OPJ_VERSION_MINOR <span class="delete">4</span></td><td> </td><td class="rblock">#define OPJ_VERSION_MINOR <span class="insert">5</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left">#define OPJ_VERSION_BUILD 0</td><td> </td><td class="right">#define OPJ_VERSION_BUILD 0</td><td class="lineno"></td></tr>
+
+ <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
+ <tr id="end" bgcolor="gray"><th colspan="5" align="center"> End of changes. 1 change blocks. </th></tr>
+ <tr class="stats"><td></td><th><i>1 lines changed or deleted</i></th><th><i> </i></th><th><i>1 lines changed or added</i></th><td></td></tr>
+ <tr><td colspan="5" align="center" class="small"></td></tr>
+ </table>
+ <br/><div style='width:100%;' align='left' class='small'>This html diff was produced by rfcdiff 1.41.The latest version is available from <a href='http://tools.ietf.org/tools/rfcdiff/'>http://tools.ietf.org/tools/rfcdiff/</a></div>
+</td></tr></table>
+</body>
+</html>
--- /dev/null
+{
+ "Total": 2
+}
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="keywords" content="OpenJPEG, header, diff" />
+ <meta name="description" content="Diff for header files between 2.5.0 and current versions of openjpeg" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/headers_diff.css" />
+
+
+ <title>
+ OpenJPEG: headers diff between 2.5.0 and current versions
+ </title>
+
+ </head>
+
+<body>
+<table width='100%' cellpadding='0' cellspacing='0'><tr><td><table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Headers diff: <span class='version'>2.5.0</span> vs <span class='version'>current</span></h1><br/><br/><br/><div style='width:100%;' align='left' class='small'>This html diff was produced by rfcdiff 1.41.The latest version is available from <a href='http://tools.ietf.org/tools/rfcdiff/'>http://tools.ietf.org/tools/rfcdiff/</a></div>
+</td></tr></table>
+</body>
+</html>
--- /dev/null
+{
+ "Total": 0
+}
\ No newline at end of file
--- /dev/null
+/*
+* The copyright in this software is being made available under the 2-clauses
+* BSD License, included below. This software may be subject to other third
+* party and contributor rights, including patent rights, and no such rights
+* are granted under this license.
+*
+* Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+* Copyright (c) 2002-2014, Professor Benoit Macq
+* Copyright (c) 2001-2003, David Janssens
+* Copyright (c) 2002-2003, Yannick Verschueren
+* Copyright (c) 2003-2007, Francois-Olivier Devaux
+* Copyright (c) 2003-2014, Antonin Descampe
+* Copyright (c) 2005, Herve Drolon, FreeImage Team
+* Copyright (c) 2006-2007, Parvatha Elangovan
+* Copyright (c) 2008, Jerome Fimes, Communications & Systemes <jerome.fimes@c-s.fr>
+* Copyright (c) 2010-2011, Kaori Hagihara
+* Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France
+* Copyright (c) 2012, CS Systemes d'Information, France
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+* 1. Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* 2. Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+* POSSIBILITY OF SUCH DAMAGE.
+*/
+#ifndef OPENJPEG_H
+#define OPENJPEG_H
+
+
+/*
+==========================================================
+ Compiler directives
+==========================================================
+*/
+
+/*
+The inline keyword is supported by C99 but not by C90.
+Most compilers implement their own version of this keyword ...
+*/
+#ifndef INLINE
+#if defined(_MSC_VER)
+#define INLINE __forceinline
+#elif defined(__GNUC__)
+#define INLINE __inline__
+#elif defined(__MWERKS__)
+#define INLINE inline
+#else
+/* add other compilers here ... */
+#define INLINE
+#endif /* defined(<Compiler>) */
+#endif /* INLINE */
+
+/* deprecated attribute */
+#ifdef __GNUC__
+#define OPJ_DEPRECATED(func) func __attribute__ ((deprecated))
+#elif defined(_MSC_VER)
+#define OPJ_DEPRECATED(func) __declspec(deprecated) func
+#else
+#pragma message("WARNING: You need to implement DEPRECATED for this compiler")
+#define OPJ_DEPRECATED(func) func
+#endif
+
+#if defined(__GNUC__) && __GNUC__ >= 6
+#define OPJ_DEPRECATED_STRUCT_MEMBER(memb, msg) __attribute__ ((deprecated(msg))) memb
+#else
+#define OPJ_DEPRECATED_STRUCT_MEMBER(memb, msg) memb
+#endif
+
+#if defined(OPJ_STATIC) || !defined(_WIN32)
+/* http://gcc.gnu.org/wiki/Visibility */
+# if !defined(_WIN32) && __GNUC__ >= 4
+# if defined(OPJ_STATIC) /* static library uses "hidden" */
+# define OPJ_API __attribute__ ((visibility ("hidden")))
+# else
+# define OPJ_API __attribute__ ((visibility ("default")))
+# endif
+# define OPJ_LOCAL __attribute__ ((visibility ("hidden")))
+# else
+# define OPJ_API
+# define OPJ_LOCAL
+# endif
+# define OPJ_CALLCONV
+#else
+# define OPJ_CALLCONV __stdcall
+/*
+The following ifdef block is the standard way of creating macros which make exporting
+from a DLL simpler. All files within this DLL are compiled with the OPJ_EXPORTS
+symbol defined on the command line. this symbol should not be defined on any project
+that uses this DLL. This way any other project whose source files include this file see
+OPJ_API functions as being imported from a DLL, whereas this DLL sees symbols
+defined with this macro as being exported.
+*/
+# if defined(OPJ_EXPORTS) || defined(DLL_EXPORT)
+# define OPJ_API __declspec(dllexport)
+# else
+# define OPJ_API __declspec(dllimport)
+# endif /* OPJ_EXPORTS */
+#endif /* !OPJ_STATIC || !_WIN32 */
+
+typedef int OPJ_BOOL;
+#define OPJ_TRUE 1
+#define OPJ_FALSE 0
+
+typedef char OPJ_CHAR;
+typedef float OPJ_FLOAT32;
+typedef double OPJ_FLOAT64;
+typedef unsigned char OPJ_BYTE;
+
+#include "opj_stdint.h"
+
+typedef int8_t OPJ_INT8;
+typedef uint8_t OPJ_UINT8;
+typedef int16_t OPJ_INT16;
+typedef uint16_t OPJ_UINT16;
+typedef int32_t OPJ_INT32;
+typedef uint32_t OPJ_UINT32;
+typedef int64_t OPJ_INT64;
+typedef uint64_t OPJ_UINT64;
+
+typedef int64_t OPJ_OFF_T; /* 64-bit file offset type */
+
+#include <stdio.h>
+typedef size_t OPJ_SIZE_T;
+
+/* Avoid compile-time warning because parameter is not used */
+#define OPJ_ARG_NOT_USED(x) (void)(x)
+
+/*
+==========================================================
+ Useful constant definitions
+==========================================================
+*/
+
+#define OPJ_PATH_LEN 4096 /**< Maximum allowed size for filenames */
+
+#define OPJ_J2K_MAXRLVLS 33 /**< Number of maximum resolution level authorized */
+#define OPJ_J2K_MAXBANDS (3*OPJ_J2K_MAXRLVLS-2) /**< Number of maximum sub-band linked to number of resolution level */
+
+#define OPJ_J2K_DEFAULT_NB_SEGS 10
+#define OPJ_J2K_STREAM_CHUNK_SIZE 0x100000 /** 1 mega by default */
+#define OPJ_J2K_DEFAULT_HEADER_SIZE 1000
+#define OPJ_J2K_MCC_DEFAULT_NB_RECORDS 10
+#define OPJ_J2K_MCT_DEFAULT_NB_RECORDS 10
+
+/* UniPG>> */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */
+#define JPWL_MAX_NO_TILESPECS 16 /**< Maximum number of tile parts expected by JPWL: increase at your will */
+#define JPWL_MAX_NO_PACKSPECS 16 /**< Maximum number of packet parts expected by JPWL: increase at your will */
+#define JPWL_MAX_NO_MARKERS 512 /**< Maximum number of JPWL markers: increase at your will */
+#define JPWL_PRIVATEINDEX_NAME "jpwl_index_privatefilename" /**< index file name used when JPWL is on */
+#define JPWL_EXPECTED_COMPONENTS 3 /**< Expect this number of components, so you'll find better the first EPB */
+#define JPWL_MAXIMUM_TILES 8192 /**< Expect this maximum number of tiles, to avoid some crashes */
+#define JPWL_MAXIMUM_HAMMING 2 /**< Expect this maximum number of bit errors in marker id's */
+#define JPWL_MAXIMUM_EPB_ROOM 65450 /**< Expect this maximum number of bytes for composition of EPBs */
+/* <<UniPG */
+
+/**
+ * EXPERIMENTAL FOR THE MOMENT
+ * Supported options about file information used only in j2k_dump
+*/
+#define OPJ_IMG_INFO 1 /**< Basic image information provided to the user */
+#define OPJ_J2K_MH_INFO 2 /**< Codestream information based only on the main header */
+#define OPJ_J2K_TH_INFO 4 /**< Tile information based on the current tile header */
+#define OPJ_J2K_TCH_INFO 8 /**< Tile/Component information of all tiles */
+#define OPJ_J2K_MH_IND 16 /**< Codestream index based only on the main header */
+#define OPJ_J2K_TH_IND 32 /**< Tile index based on the current tile */
+/*FIXME #define OPJ_J2K_CSTR_IND 48*/ /**< */
+#define OPJ_JP2_INFO 128 /**< JP2 file information */
+#define OPJ_JP2_IND 256 /**< JP2 file index */
+
+/**
+ * JPEG 2000 Profiles, see Table A.10 from 15444-1 (updated in various AMD)
+ * These values help choosing the RSIZ value for the J2K codestream.
+ * The RSIZ value triggers various encoding options, as detailed in Table A.10.
+ * If OPJ_PROFILE_PART2 is chosen, it has to be combined with one or more extensions
+ * described hereunder.
+ * Example: rsiz = OPJ_PROFILE_PART2 | OPJ_EXTENSION_MCT;
+ * For broadcast profiles, the OPJ_PROFILE value has to be combined with the targeted
+ * mainlevel (3-0 LSB, value between 0 and 11):
+ * Example: rsiz = OPJ_PROFILE_BC_MULTI | 0x0005; (here mainlevel 5)
+ * For IMF profiles, the OPJ_PROFILE value has to be combined with the targeted mainlevel
+ * (3-0 LSB, value between 0 and 11) and sublevel (7-4 LSB, value between 0 and 9):
+ * Example: rsiz = OPJ_PROFILE_IMF_2K | 0x0040 | 0x0005; (here main 5 and sublevel 4)
+ * */
+#define OPJ_PROFILE_NONE 0x0000 /** no profile, conform to 15444-1 */
+#define OPJ_PROFILE_0 0x0001 /** Profile 0 as described in 15444-1,Table A.45 */
+#define OPJ_PROFILE_1 0x0002 /** Profile 1 as described in 15444-1,Table A.45 */
+#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 15444-1 AMD1 */
+#define OPJ_PROFILE_CINEMA_4K 0x0004 /** 4K cinema profile defined in 15444-1 AMD1 */
+#define OPJ_PROFILE_CINEMA_S2K 0x0005 /** Scalable 2K cinema profile defined in 15444-1 AMD2 */
+#define OPJ_PROFILE_CINEMA_S4K 0x0006 /** Scalable 4K 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 defined in 15444-1 AMD3 */
+#define OPJ_PROFILE_BC_MULTI 0x0200 /** Multi Tile 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_4K 0x0500 /** 4K Single Tile Lossy IMF profile defined in 15444-1 AMD 8 */
+#define OPJ_PROFILE_IMF_8K 0x0600 /** 8K Single Tile Lossy IMF profile defined in 15444-1 AMD 8 */
+#define OPJ_PROFILE_IMF_2K_R 0x0700 /** 2K 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 0x0900 /** 8K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD 8 */
+
+/**
+ * JPEG 2000 Part-2 extensions
+ * */
+#define OPJ_EXTENSION_NONE 0x0000 /** No Part-2 extension */
+#define OPJ_EXTENSION_MCT 0x0100 /** Custom MCT support */
+
+/**
+ * JPEG 2000 profile macros
+ * */
+#define OPJ_IS_CINEMA(v) (((v) >= OPJ_PROFILE_CINEMA_2K)&&((v) <= OPJ_PROFILE_CINEMA_S4K))
+#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_IMF(v) (((v) >= OPJ_PROFILE_IMF_2K)&&((v) <= ((OPJ_PROFILE_IMF_8K_R) | (0x009b))))
+#define OPJ_IS_PART2(v) ((v) & OPJ_PROFILE_PART2)
+
+#define OPJ_GET_IMF_PROFILE(v) ((v) & 0xff00) /** Extract IMF profile without mainlevel/sublevel */
+#define OPJ_GET_IMF_MAINLEVEL(v) ((v) & 0xf) /** Extract IMF main level */
+#define OPJ_GET_IMF_SUBLEVEL(v) (((v) >> 4) & 0xf) /** Extract IMF sub level */
+
+#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 main level 1 */
+#define OPJ_IMF_MAINLEVEL_2_MSAMPLESEC 130 /** MSamples/sec for IMF main level 2 */
+#define OPJ_IMF_MAINLEVEL_3_MSAMPLESEC 195 /** MSamples/sec for IMF main level 3 */
+#define OPJ_IMF_MAINLEVEL_4_MSAMPLESEC 260 /** MSamples/sec for IMF main level 4 */
+#define OPJ_IMF_MAINLEVEL_5_MSAMPLESEC 520 /** MSamples/sec for IMF main level 5 */
+#define OPJ_IMF_MAINLEVEL_6_MSAMPLESEC 1200 /** MSamples/sec for IMF main level 6 */
+#define OPJ_IMF_MAINLEVEL_7_MSAMPLESEC 2400 /** MSamples/sec for IMF main level 7 */
+#define OPJ_IMF_MAINLEVEL_8_MSAMPLESEC 4800 /** MSamples/sec for IMF main level 8 */
+#define OPJ_IMF_MAINLEVEL_9_MSAMPLESEC 9600 /** MSamples/sec for IMF main level 9 */
+#define OPJ_IMF_MAINLEVEL_10_MSAMPLESEC 19200 /** MSamples/sec for IMF main level 10 */
+#define OPJ_IMF_MAINLEVEL_11_MSAMPLESEC 38400 /** MSamples/sec for IMF main level 11 */
+
+/** Max. compressed Bit Rate (Mbits/s) per IMF sub level */
+#define OPJ_IMF_SUBLEVEL_1_MBITSSEC 200 /** Mbits/s for IMF sub level 1 */
+#define OPJ_IMF_SUBLEVEL_2_MBITSSEC 400 /** Mbits/s for IMF sub level 2 */
+#define OPJ_IMF_SUBLEVEL_3_MBITSSEC 800 /** Mbits/s for IMF sub level 3 */
+#define OPJ_IMF_SUBLEVEL_4_MBITSSEC 1600 /** Mbits/s for IMF sub level 4 */
+#define OPJ_IMF_SUBLEVEL_5_MBITSSEC 3200 /** Mbits/s for IMF sub level 5 */
+#define OPJ_IMF_SUBLEVEL_6_MBITSSEC 6400 /** Mbits/s for IMF sub level 6 */
+#define OPJ_IMF_SUBLEVEL_7_MBITSSEC 12800 /** Mbits/s for IMF sub level 7 */
+#define OPJ_IMF_SUBLEVEL_8_MBITSSEC 25600 /** Mbits/s for IMF sub level 8 */
+#define OPJ_IMF_SUBLEVEL_9_MBITSSEC 51200 /** Mbits/s for IMF sub level 9 */
+
+/**
+ * JPEG 2000 codestream and component size limits in cinema profiles
+ * */
+#define OPJ_CINEMA_24_CS 1302083 /** Maximum codestream length for 24fps */
+#define OPJ_CINEMA_48_CS 651041 /** Maximum codestream length for 48fps */
+#define OPJ_CINEMA_24_COMP 1041666 /** Maximum size per color component for 2K & 4K @ 24fps */
+#define OPJ_CINEMA_48_COMP 520833 /** Maximum size per color component for 2K @ 48fps */
+
+/*
+==========================================================
+ enum definitions
+==========================================================
+*/
+
+/**
+ * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead
+ * Rsiz Capabilities
+ * */
+typedef enum RSIZ_CAPABILITIES {
+ OPJ_STD_RSIZ = 0, /** Standard JPEG2000 profile*/
+ OPJ_CINEMA2K = 3, /** Profile name for a 2K image*/
+ OPJ_CINEMA4K = 4, /** Profile name for a 4K image*/
+ OPJ_MCT = 0x8100
+} OPJ_RSIZ_CAPABILITIES;
+
+/**
+ * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead
+ * Digital cinema operation mode
+ * */
+typedef enum CINEMA_MODE {
+ OPJ_OFF = 0, /** Not Digital Cinema*/
+ OPJ_CINEMA2K_24 = 1, /** 2K Digital Cinema at 24 fps*/
+ OPJ_CINEMA2K_48 = 2, /** 2K Digital Cinema at 48 fps*/
+ OPJ_CINEMA4K_24 = 3 /** 4K Digital Cinema at 24 fps*/
+} OPJ_CINEMA_MODE;
+
+/**
+ * Progression order
+ * */
+typedef enum PROG_ORDER {
+ OPJ_PROG_UNKNOWN = -1, /**< place-holder */
+ OPJ_LRCP = 0, /**< layer-resolution-component-precinct order */
+ OPJ_RLCP = 1, /**< resolution-layer-component-precinct order */
+ OPJ_RPCL = 2, /**< resolution-precinct-component-layer order */
+ OPJ_PCRL = 3, /**< precinct-component-resolution-layer order */
+ OPJ_CPRL = 4 /**< component-precinct-resolution-layer order */
+} OPJ_PROG_ORDER;
+
+/**
+ * Supported image color spaces
+*/
+typedef enum COLOR_SPACE {
+ OPJ_CLRSPC_UNKNOWN = -1, /**< not supported by the library */
+ OPJ_CLRSPC_UNSPECIFIED = 0, /**< not specified in the codestream */
+ OPJ_CLRSPC_SRGB = 1, /**< sRGB */
+ OPJ_CLRSPC_GRAY = 2, /**< grayscale */
+ OPJ_CLRSPC_SYCC = 3, /**< YUV */
+ OPJ_CLRSPC_EYCC = 4, /**< e-YCC */
+ OPJ_CLRSPC_CMYK = 5 /**< CMYK */
+} OPJ_COLOR_SPACE;
+
+/**
+ * Supported codec
+*/
+typedef enum CODEC_FORMAT {
+ OPJ_CODEC_UNKNOWN = -1, /**< place-holder */
+ OPJ_CODEC_J2K = 0, /**< JPEG-2000 codestream : read/write */
+ OPJ_CODEC_JPT = 1, /**< JPT-stream (JPEG 2000, JPIP) : read only */
+ OPJ_CODEC_JP2 = 2, /**< JP2 file format : read/write */
+ OPJ_CODEC_JPP = 3, /**< JPP-stream (JPEG 2000, JPIP) : to be coded */
+ OPJ_CODEC_JPX = 4 /**< JPX file format (JPEG 2000 Part-2) : to be coded */
+} OPJ_CODEC_FORMAT;
+
+
+/*
+==========================================================
+ event manager typedef definitions
+==========================================================
+*/
+
+/**
+ * Callback function prototype for events
+ * @param msg Event message
+ * @param client_data Client object where will be return the event message
+ * */
+typedef void (*opj_msg_callback)(const char *msg, void *client_data);
+
+/*
+==========================================================
+ codec typedef definitions
+==========================================================
+*/
+
+#ifndef OPJ_UINT32_SEMANTICALLY_BUT_INT32
+#define OPJ_UINT32_SEMANTICALLY_BUT_INT32 OPJ_INT32
+#endif
+
+/**
+ * Progression order changes
+ *
+ */
+typedef struct opj_poc {
+ /** Resolution num start, Component num start, given by POC */
+ OPJ_UINT32 resno0, compno0;
+ /** Layer num end,Resolution num end, Component num end, given by POC */
+ OPJ_UINT32 layno1, resno1, compno1;
+ /** Layer num start,Precinct num start, Precinct num end */
+ OPJ_UINT32 layno0, precno0, precno1;
+ /** Progression order enum*/
+ OPJ_PROG_ORDER prg1, prg;
+ /** Progression order string*/
+ OPJ_CHAR progorder[5];
+ /** Tile number (starting at 1) */
+ OPJ_UINT32 tile;
+ /** Start and end values for Tile width and height*/
+ OPJ_UINT32_SEMANTICALLY_BUT_INT32 tx0, tx1, ty0, ty1;
+ /** Start value, initialised in pi_initialise_encode*/
+ OPJ_UINT32 layS, resS, compS, prcS;
+ /** End value, initialised in pi_initialise_encode */
+ OPJ_UINT32 layE, resE, compE, prcE;
+ /** Start and end values of Tile width and height, initialised in pi_initialise_encode*/
+ OPJ_UINT32 txS, txE, tyS, tyE, dx, dy;
+ /** 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_poc_t;
+
+/**
+ * Compression parameters
+ * */
+typedef struct opj_cparameters {
+ /** size of tile: tile_size_on = false (not in argument) or = true (in argument) */
+ OPJ_BOOL tile_size_on;
+ /** XTOsiz */
+ int cp_tx0;
+ /** YTOsiz */
+ int cp_ty0;
+ /** XTsiz */
+ int cp_tdx;
+ /** YTsiz */
+ int cp_tdy;
+ /** allocation by rate/distortion */
+ int cp_disto_alloc;
+ /** allocation by fixed layer */
+ int cp_fixed_alloc;
+ /** add fixed_quality */
+ int cp_fixed_quality;
+ /** fixed layer */
+ int *cp_matrice;
+ /** comment for coding */
+ char *cp_comment;
+ /** csty : coding style */
+ int csty;
+ /** progression order (default OPJ_LRCP) */
+ OPJ_PROG_ORDER prog_order;
+ /** progression order changes */
+ opj_poc_t POC[32];
+ /** number of progression order changes (POC), default to 0 */
+ OPJ_UINT32 numpocs;
+ /** number of layers */
+ int tcp_numlayers;
+ /** rates of layers - might be subsequently limited by the max_cs_size field.
+ * Should be decreasing. 1 can be
+ * used as last value to indicate the last layer is lossless. */
+ float tcp_rates[100];
+ /** different psnr for successive layers. Should be increasing. 0 can be
+ * used as last value to indicate the last layer is lossless. */
+ float tcp_distoratio[100];
+ /** number of resolutions */
+ int numresolution;
+ /** initial code block width, default to 64 */
+ int cblockw_init;
+ /** initial code block height, default to 64 */
+ int cblockh_init;
+ /** mode switch (cblk_style) */
+ int mode;
+ /** 1 : use the irreversible DWT 9-7, 0 : use lossless compression (default) */
+ int irreversible;
+ /** region of interest: affected component in [0..3], -1 means no ROI */
+ int roi_compno;
+ /** region of interest: upshift value */
+ int roi_shift;
+ /* number of precinct size specifications */
+ int res_spec;
+ /** initial precinct width */
+ int prcw_init[OPJ_J2K_MAXRLVLS];
+ /** initial precinct height */
+ int prch_init[OPJ_J2K_MAXRLVLS];
+
+ /**@name command line encoder parameters (not used inside the library) */
+ /*@{*/
+ /** input file name */
+ char infile[OPJ_PATH_LEN];
+ /** output file name */
+ char outfile[OPJ_PATH_LEN];
+ /** DEPRECATED. Index generation is now handled with the opj_encode_with_info() function. Set to NULL */
+ int index_on;
+ /** DEPRECATED. Index generation is now handled with the opj_encode_with_info() function. Set to NULL */
+ char index[OPJ_PATH_LEN];
+ /** subimage encoding: origin image offset in x direction */
+ int image_offset_x0;
+ /** subimage encoding: origin image offset in y direction */
+ int image_offset_y0;
+ /** subsampling value for dx */
+ int subsampling_dx;
+ /** subsampling value for dy */
+ int subsampling_dy;
+ /** input file format 0: PGX, 1: PxM, 2: BMP 3:TIF*/
+ int decod_format;
+ /** output file format 0: J2K, 1: JP2, 2: JPT */
+ int cod_format;
+ /*@}*/
+
+ /* UniPG>> */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */
+ /**@name JPWL encoding parameters */
+ /*@{*/
+ /** enables writing of EPC in MH, thus activating JPWL */
+ OPJ_BOOL jpwl_epc_on;
+ /** error protection method for MH (0,1,16,32,37-128) */
+ int jpwl_hprot_MH;
+ /** tile number of header protection specification (>=0) */
+ int jpwl_hprot_TPH_tileno[JPWL_MAX_NO_TILESPECS];
+ /** error protection methods for TPHs (0,1,16,32,37-128) */
+ int jpwl_hprot_TPH[JPWL_MAX_NO_TILESPECS];
+ /** tile number of packet protection specification (>=0) */
+ int jpwl_pprot_tileno[JPWL_MAX_NO_PACKSPECS];
+ /** packet number of packet protection specification (>=0) */
+ int jpwl_pprot_packno[JPWL_MAX_NO_PACKSPECS];
+ /** error protection methods for packets (0,1,16,32,37-128) */
+ int jpwl_pprot[JPWL_MAX_NO_PACKSPECS];
+ /** enables writing of ESD, (0=no/1/2 bytes) */
+ int jpwl_sens_size;
+ /** sensitivity addressing size (0=auto/2/4 bytes) */
+ int jpwl_sens_addr;
+ /** sensitivity range (0-3) */
+ int jpwl_sens_range;
+ /** sensitivity method for MH (-1=no,0-7) */
+ int jpwl_sens_MH;
+ /** tile number of sensitivity specification (>=0) */
+ int jpwl_sens_TPH_tileno[JPWL_MAX_NO_TILESPECS];
+ /** sensitivity methods for TPHs (-1=no,0-7) */
+ int jpwl_sens_TPH[JPWL_MAX_NO_TILESPECS];
+ /*@}*/
+ /* <<UniPG */
+
+ /**
+ * DEPRECATED: use RSIZ, OPJ_PROFILE_* and MAX_COMP_SIZE instead
+ * Digital Cinema compliance 0-not compliant, 1-compliant
+ * */
+ OPJ_CINEMA_MODE cp_cinema;
+ /**
+ * Maximum size (in bytes) for each component.
+ * If == 0, component size limitation is not considered
+ * */
+ int max_comp_size;
+ /**
+ * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead
+ * Profile name
+ * */
+ OPJ_RSIZ_CAPABILITIES cp_rsiz;
+ /** Tile part generation*/
+ char tp_on;
+ /** Flag for Tile part generation*/
+ char tp_flag;
+ /** MCT (multiple component transform) */
+ char tcp_mct;
+ /** Enable JPIP indexing*/
+ OPJ_BOOL jpip_on;
+ /** Naive implementation of MCT restricted to a single reversible array based
+ encoding without offset concerning all the components. */
+ void * mct_data;
+ /**
+ * Maximum size (in bytes) for the whole codestream.
+ * If == 0, codestream size limitation is not considered
+ * If it does not comply with tcp_rates, max_cs_size prevails
+ * and a warning is issued.
+ * */
+ int max_cs_size;
+ /** RSIZ value
+ To be used to combine OPJ_PROFILE_*, OPJ_EXTENSION_* and (sub)levels values. */
+ OPJ_UINT16 rsiz;
+} opj_cparameters_t;
+
+#define OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG 0x0001
+#define OPJ_DPARAMETERS_DUMP_FLAG 0x0002
+
+/**
+ * Decompression parameters
+ * */
+typedef struct opj_dparameters {
+ /**
+ Set the number of highest resolution levels to be discarded.
+ The image resolution is effectively divided by 2 to the power of the number of discarded levels.
+ The reduce factor is limited by the smallest total number of decomposition levels among tiles.
+ if != 0, then original dimension divided by 2^(reduce);
+ if == 0 or not used, image is decoded to the full resolution
+ */
+ OPJ_UINT32 cp_reduce;
+ /**
+ Set the maximum number of quality layers to decode.
+ If there are less quality layers than the specified number, all the quality layers are decoded.
+ if != 0, then only the first "layer" layers are decoded;
+ if == 0 or not used, all the quality layers are decoded
+ */
+ OPJ_UINT32 cp_layer;
+
+ /**@name command line decoder parameters (not used inside the library) */
+ /*@{*/
+ /** input file name */
+ char infile[OPJ_PATH_LEN];
+ /** output file name */
+ char outfile[OPJ_PATH_LEN];
+ /** input file format 0: J2K, 1: JP2, 2: JPT */
+ int decod_format;
+ /** output file format 0: PGX, 1: PxM, 2: BMP */
+ int cod_format;
+
+ /** Decoding area left boundary */
+ OPJ_UINT32 DA_x0;
+ /** Decoding area right boundary */
+ OPJ_UINT32 DA_x1;
+ /** Decoding area up boundary */
+ OPJ_UINT32 DA_y0;
+ /** Decoding area bottom boundary */
+ OPJ_UINT32 DA_y1;
+ /** Verbose mode */
+ OPJ_BOOL m_verbose;
+
+ /** tile number of the decoded tile */
+ OPJ_UINT32 tile_index;
+ /** Nb of tile to decode */
+ OPJ_UINT32 nb_tile_to_decode;
+
+ /*@}*/
+
+ /* UniPG>> */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */
+ /**@name JPWL decoding parameters */
+ /*@{*/
+ /** activates the JPWL correction capabilities */
+ OPJ_BOOL jpwl_correct;
+ /** expected number of components */
+ int jpwl_exp_comps;
+ /** maximum number of tiles */
+ int jpwl_max_tiles;
+ /*@}*/
+ /* <<UniPG */
+
+ unsigned int flags;
+
+} opj_dparameters_t;
+
+
+/**
+ * JPEG2000 codec V2.
+ * */
+typedef void * opj_codec_t;
+
+/*
+==========================================================
+ I/O stream typedef definitions
+==========================================================
+*/
+
+/**
+ * Stream open flags.
+ * */
+/** The stream was opened for reading. */
+#define OPJ_STREAM_READ OPJ_TRUE
+/** The stream was opened for writing. */
+#define OPJ_STREAM_WRITE OPJ_FALSE
+
+/*
+ * Callback function prototype for read function
+ */
+typedef OPJ_SIZE_T(* opj_stream_read_fn)(void * p_buffer, OPJ_SIZE_T p_nb_bytes,
+ void * p_user_data) ;
+
+/*
+ * Callback function prototype for write function
+ */
+typedef OPJ_SIZE_T(* opj_stream_write_fn)(void * p_buffer,
+ OPJ_SIZE_T p_nb_bytes, void * p_user_data) ;
+
+/*
+ * Callback function prototype for skip function
+ */
+typedef OPJ_OFF_T(* opj_stream_skip_fn)(OPJ_OFF_T p_nb_bytes,
+ void * p_user_data) ;
+
+/*
+ * Callback function prototype for seek function
+ */
+typedef OPJ_BOOL(* opj_stream_seek_fn)(OPJ_OFF_T p_nb_bytes,
+ void * p_user_data) ;
+
+/*
+ * Callback function prototype for free user data function
+ */
+typedef void (* opj_stream_free_user_data_fn)(void * p_user_data) ;
+
+/*
+ * JPEG2000 Stream.
+ */
+typedef void * opj_stream_t;
+
+/*
+==========================================================
+ image typedef definitions
+==========================================================
+*/
+
+/**
+ * Defines a single image component
+ * */
+typedef struct opj_image_comp {
+ /** XRsiz: horizontal separation of a sample of ith component with respect to the reference grid */
+ OPJ_UINT32 dx;
+ /** YRsiz: vertical separation of a sample of ith component with respect to the reference grid */
+ OPJ_UINT32 dy;
+ /** data width */
+ OPJ_UINT32 w;
+ /** data height */
+ OPJ_UINT32 h;
+ /** x component offset compared to the whole image */
+ OPJ_UINT32 x0;
+ /** y component offset compared to the whole image */
+ OPJ_UINT32 y0;
+ /** precision: number of bits per component per pixel */
+ OPJ_UINT32 prec;
+ /** obsolete: use prec instead */
+ OPJ_DEPRECATED_STRUCT_MEMBER(OPJ_UINT32 bpp, "Use prec instead");
+ /** signed (1) / unsigned (0) */
+ OPJ_UINT32 sgnd;
+ /** number of decoded resolution */
+ OPJ_UINT32 resno_decoded;
+ /** number of division by 2 of the out image compared to the original size of image */
+ OPJ_UINT32 factor;
+ /** image component data */
+ OPJ_INT32 *data;
+ /** alpha channel */
+ OPJ_UINT16 alpha;
+} opj_image_comp_t;
+
+/**
+ * Defines image data and characteristics
+ * */
+typedef struct opj_image {
+ /** XOsiz: horizontal offset from the origin of the reference grid to the left side of the image area */
+ OPJ_UINT32 x0;
+ /** YOsiz: vertical offset from the origin of the reference grid to the top side of the image area */
+ OPJ_UINT32 y0;
+ /** Xsiz: width of the reference grid */
+ OPJ_UINT32 x1;
+ /** Ysiz: height of the reference grid */
+ OPJ_UINT32 y1;
+ /** number of components in the image */
+ OPJ_UINT32 numcomps;
+ /** color space: sRGB, Greyscale or YUV */
+ OPJ_COLOR_SPACE color_space;
+ /** image components */
+ opj_image_comp_t *comps;
+ /** 'restricted' ICC profile */
+ OPJ_BYTE *icc_profile_buf;
+ /** size of ICC profile */
+ OPJ_UINT32 icc_profile_len;
+} opj_image_t;
+
+
+/**
+ * Component parameters structure used by the opj_image_create function
+ * */
+typedef struct opj_image_comptparm {
+ /** XRsiz: horizontal separation of a sample of ith component with respect to the reference grid */
+ OPJ_UINT32 dx;
+ /** YRsiz: vertical separation of a sample of ith component with respect to the reference grid */
+ OPJ_UINT32 dy;
+ /** data width */
+ OPJ_UINT32 w;
+ /** data height */
+ OPJ_UINT32 h;
+ /** x component offset compared to the whole image */
+ OPJ_UINT32 x0;
+ /** y component offset compared to the whole image */
+ OPJ_UINT32 y0;
+ /** precision: number of bits per component per pixel */
+ OPJ_UINT32 prec;
+ /** obsolete: use prec instead */
+ OPJ_DEPRECATED_STRUCT_MEMBER(OPJ_UINT32 bpp, "Use prec instead");
+ /** signed (1) / unsigned (0) */
+ OPJ_UINT32 sgnd;
+} opj_image_cmptparm_t;
+
+
+/*
+==========================================================
+ Information on the JPEG 2000 codestream
+==========================================================
+*/
+/* QUITE EXPERIMENTAL FOR THE MOMENT */
+
+/**
+ * Index structure : Information concerning a packet inside tile
+ * */
+typedef struct opj_packet_info {
+ /** packet start position (including SOP marker if it exists) */
+ OPJ_OFF_T start_pos;
+ /** end of packet header position (including EPH marker if it exists)*/
+ OPJ_OFF_T end_ph_pos;
+ /** packet end position */
+ OPJ_OFF_T end_pos;
+ /** packet distorsion */
+ double disto;
+} opj_packet_info_t;
+
+
+/* UniPG>> */
+/**
+ * Marker structure
+ * */
+typedef struct opj_marker_info {
+ /** marker type */
+ unsigned short int type;
+ /** position in codestream */
+ OPJ_OFF_T pos;
+ /** length, marker val included */
+ int len;
+} opj_marker_info_t;
+/* <<UniPG */
+
+/**
+ * Index structure : Information concerning tile-parts
+*/
+typedef struct opj_tp_info {
+ /** start position of tile part */
+ int tp_start_pos;
+ /** end position of tile part header */
+ int tp_end_header;
+ /** end position of tile part */
+ int tp_end_pos;
+ /** start packet of tile part */
+ int tp_start_pack;
+ /** number of packets of tile part */
+ int tp_numpacks;
+} opj_tp_info_t;
+
+/**
+ * Index structure : information regarding tiles
+*/
+typedef struct opj_tile_info {
+ /** value of thresh for each layer by tile cfr. Marcela */
+ double *thresh;
+ /** number of tile */
+ int tileno;
+ /** start position */
+ int start_pos;
+ /** end position of the header */
+ int end_header;
+ /** end position */
+ int end_pos;
+ /** precinct number for each resolution level (width) */
+ int pw[33];
+ /** precinct number for each resolution level (height) */
+ int ph[33];
+ /** precinct size (in power of 2), in X for each resolution level */
+ int pdx[33];
+ /** precinct size (in power of 2), in Y for each resolution level */
+ int pdy[33];
+ /** information concerning packets inside tile */
+ opj_packet_info_t *packet;
+ /** add fixed_quality */
+ int numpix;
+ /** add fixed_quality */
+ double distotile;
+ /** number of markers */
+ int marknum;
+ /** list of markers */
+ opj_marker_info_t *marker;
+ /** actual size of markers array */
+ int maxmarknum;
+ /** number of tile parts */
+ int num_tps;
+ /** information concerning tile parts */
+ opj_tp_info_t *tp;
+} opj_tile_info_t;
+
+/**
+ * Index structure of the codestream
+*/
+typedef struct opj_codestream_info {
+ /** maximum distortion reduction on the whole image (add for Marcela) */
+ double D_max;
+ /** packet number */
+ int packno;
+ /** writing the packet in the index with t2_encode_packets */
+ int index_write;
+ /** image width */
+ int image_w;
+ /** image height */
+ int image_h;
+ /** progression order */
+ OPJ_PROG_ORDER prog;
+ /** tile size in x */
+ int tile_x;
+ /** tile size in y */
+ int tile_y;
+ /** */
+ int tile_Ox;
+ /** */
+ int tile_Oy;
+ /** number of tiles in X */
+ int tw;
+ /** number of tiles in Y */
+ int th;
+ /** component numbers */
+ int numcomps;
+ /** number of layer */
+ int numlayers;
+ /** number of decomposition for each component */
+ int *numdecompos;
+ /* UniPG>> */
+ /** number of markers */
+ int marknum;
+ /** list of markers */
+ opj_marker_info_t *marker;
+ /** actual size of markers array */
+ int maxmarknum;
+ /* <<UniPG */
+ /** main header position */
+ int main_head_start;
+ /** main header position */
+ int main_head_end;
+ /** codestream's size */
+ int codestream_size;
+ /** information regarding tiles inside image */
+ opj_tile_info_t *tile;
+} opj_codestream_info_t;
+
+/* <----------------------------------------------------------- */
+/* new output management of the codestream information and index */
+
+/**
+ * Tile-component coding parameters information
+ */
+typedef struct opj_tccp_info {
+ /** component index */
+ OPJ_UINT32 compno;
+ /** coding style */
+ OPJ_UINT32 csty;
+ /** number of resolutions */
+ OPJ_UINT32 numresolutions;
+ /** log2 of code-blocks width */
+ OPJ_UINT32 cblkw;
+ /** log2 of code-blocks height */
+ OPJ_UINT32 cblkh;
+ /** code-block coding style */
+ OPJ_UINT32 cblksty;
+ /** discrete wavelet transform identifier: 0 = 9-7 irreversible, 1 = 5-3 reversible */
+ OPJ_UINT32 qmfbid;
+ /** quantisation style */
+ OPJ_UINT32 qntsty;
+ /** stepsizes used for quantization */
+ OPJ_UINT32 stepsizes_mant[OPJ_J2K_MAXBANDS];
+ /** stepsizes used for quantization */
+ OPJ_UINT32 stepsizes_expn[OPJ_J2K_MAXBANDS];
+ /** number of guard bits */
+ OPJ_UINT32 numgbits;
+ /** Region Of Interest shift */
+ OPJ_INT32 roishift;
+ /** precinct width */
+ OPJ_UINT32 prcw[OPJ_J2K_MAXRLVLS];
+ /** precinct height */
+ OPJ_UINT32 prch[OPJ_J2K_MAXRLVLS];
+}
+opj_tccp_info_t;
+
+/**
+ * Tile coding parameters information
+ */
+typedef struct opj_tile_v2_info {
+
+ /** number (index) of tile */
+ int tileno;
+ /** coding style */
+ OPJ_UINT32 csty;
+ /** progression order */
+ OPJ_PROG_ORDER prg;
+ /** number of layers */
+ OPJ_UINT32 numlayers;
+ /** multi-component transform identifier */
+ OPJ_UINT32 mct;
+
+ /** information concerning tile component parameters*/
+ opj_tccp_info_t *tccp_info;
+
+} opj_tile_info_v2_t;
+
+/**
+ * Information structure about the codestream (FIXME should be expand and enhance)
+ */
+typedef struct opj_codestream_info_v2 {
+ /* Tile info */
+ /** tile origin in x = XTOsiz */
+ OPJ_UINT32 tx0;
+ /** tile origin in y = YTOsiz */
+ OPJ_UINT32 ty0;
+ /** tile size in x = XTsiz */
+ OPJ_UINT32 tdx;
+ /** tile size in y = YTsiz */
+ OPJ_UINT32 tdy;
+ /** number of tiles in X */
+ OPJ_UINT32 tw;
+ /** number of tiles in Y */
+ OPJ_UINT32 th;
+
+ /** number of components*/
+ OPJ_UINT32 nbcomps;
+
+ /** Default information regarding tiles inside image */
+ opj_tile_info_v2_t m_default_tile_info;
+
+ /** information regarding tiles inside image */
+ opj_tile_info_v2_t *tile_info; /* FIXME not used for the moment */
+
+} opj_codestream_info_v2_t;
+
+
+/**
+ * Index structure about a tile part
+ */
+typedef struct opj_tp_index {
+ /** start position */
+ OPJ_OFF_T start_pos;
+ /** end position of the header */
+ OPJ_OFF_T end_header;
+ /** end position */
+ OPJ_OFF_T end_pos;
+
+} opj_tp_index_t;
+
+/**
+ * Index structure about a tile
+ */
+typedef struct opj_tile_index {
+ /** tile index */
+ OPJ_UINT32 tileno;
+
+ /** number of tile parts */
+ OPJ_UINT32 nb_tps;
+ /** current nb of tile part (allocated)*/
+ OPJ_UINT32 current_nb_tps;
+ /** current tile-part index */
+ OPJ_UINT32 current_tpsno;
+ /** information concerning tile parts */
+ opj_tp_index_t *tp_index;
+
+ /* UniPG>> */ /* NOT USED FOR THE MOMENT IN THE V2 VERSION */
+ /** number of markers */
+ OPJ_UINT32 marknum;
+ /** list of markers */
+ opj_marker_info_t *marker;
+ /** actual size of markers array */
+ OPJ_UINT32 maxmarknum;
+ /* <<UniPG */
+
+ /** packet number */
+ OPJ_UINT32 nb_packet;
+ /** information concerning packets inside tile */
+ opj_packet_info_t *packet_index;
+
+} opj_tile_index_t;
+
+/**
+ * Index structure of the codestream (FIXME should be expand and enhance)
+ */
+typedef struct opj_codestream_index {
+ /** main header start position (SOC position) */
+ OPJ_OFF_T main_head_start;
+ /** main header end position (first SOT position) */
+ OPJ_OFF_T main_head_end;
+
+ /** codestream's size */
+ OPJ_UINT64 codestream_size;
+
+ /* UniPG>> */ /* NOT USED FOR THE MOMENT IN THE V2 VERSION */
+ /** number of markers */
+ OPJ_UINT32 marknum;
+ /** list of markers */
+ opj_marker_info_t *marker;
+ /** actual size of markers array */
+ OPJ_UINT32 maxmarknum;
+ /* <<UniPG */
+
+ /** */
+ OPJ_UINT32 nb_of_tiles;
+ /** */
+ opj_tile_index_t *tile_index; /* FIXME not used for the moment */
+
+} opj_codestream_index_t;
+/* -----------------------------------------------------------> */
+
+/*
+==========================================================
+ Metadata from the JP2file
+==========================================================
+*/
+
+/**
+ * Info structure of the JP2 file
+ * EXPERIMENTAL FOR THE MOMENT
+ */
+typedef struct opj_jp2_metadata {
+ /** */
+ OPJ_INT32 not_used;
+
+} opj_jp2_metadata_t;
+
+/**
+ * Index structure of the JP2 file
+ * EXPERIMENTAL FOR THE MOMENT
+ */
+typedef struct opj_jp2_index {
+ /** */
+ OPJ_INT32 not_used;
+
+} opj_jp2_index_t;
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/*
+==========================================================
+ openjpeg version
+==========================================================
+*/
+
+/* Get the version of the openjpeg library*/
+OPJ_API const char * OPJ_CALLCONV opj_version(void);
+
+/*
+==========================================================
+ image functions definitions
+==========================================================
+*/
+
+/**
+ * Create an image
+ *
+ * @param numcmpts number of components
+ * @param cmptparms components parameters
+ * @param clrspc image color space
+ * @return returns a new image structure if successful, returns NULL otherwise
+ * */
+OPJ_API opj_image_t* OPJ_CALLCONV opj_image_create(OPJ_UINT32 numcmpts,
+ opj_image_cmptparm_t *cmptparms, OPJ_COLOR_SPACE clrspc);
+
+/**
+ * Deallocate any resources associated with an image
+ *
+ * @param image image to be destroyed
+ */
+OPJ_API void OPJ_CALLCONV opj_image_destroy(opj_image_t *image);
+
+/**
+ * Creates an image without allocating memory for the image (used in the new version of the library).
+ *
+ * @param numcmpts the number of components
+ * @param cmptparms the components parameters
+ * @param clrspc the image color space
+ *
+ * @return a new image structure if successful, NULL otherwise.
+*/
+OPJ_API opj_image_t* OPJ_CALLCONV opj_image_tile_create(OPJ_UINT32 numcmpts,
+ opj_image_cmptparm_t *cmptparms, OPJ_COLOR_SPACE clrspc);
+
+/**
+ * Allocator for opj_image_t->comps[].data
+ * To be paired with opj_image_data_free.
+ *
+ * @param size number of bytes to allocate
+ *
+ * @return a new pointer if successful, NULL otherwise.
+ * @since 2.2.0
+*/
+OPJ_API void* OPJ_CALLCONV opj_image_data_alloc(OPJ_SIZE_T size);
+
+/**
+ * Destructor for opj_image_t->comps[].data
+ * To be paired with opj_image_data_alloc.
+ *
+ * @param ptr Pointer to free
+ *
+ * @since 2.2.0
+*/
+OPJ_API void OPJ_CALLCONV opj_image_data_free(void* ptr);
+
+/*
+==========================================================
+ stream functions definitions
+==========================================================
+*/
+
+/**
+ * Creates an abstract stream. This function does nothing except allocating memory and initializing the abstract stream.
+ *
+ * @param p_is_input if set to true then the stream will be an input stream, an output stream else.
+ *
+ * @return a stream object.
+*/
+OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_default_create(
+ OPJ_BOOL p_is_input);
+
+/**
+ * Creates an abstract stream. This function does nothing except allocating memory and initializing the abstract stream.
+ *
+ * @param p_buffer_size FIXME DOC
+ * @param p_is_input if set to true then the stream will be an input stream, an output stream else.
+ *
+ * @return a stream object.
+*/
+OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_create(OPJ_SIZE_T p_buffer_size,
+ OPJ_BOOL p_is_input);
+
+/**
+ * Destroys a stream created by opj_create_stream. This function does NOT close the abstract stream. If needed the user must
+ * close its own implementation of the stream.
+ *
+ * @param p_stream the stream to destroy.
+ */
+OPJ_API void OPJ_CALLCONV opj_stream_destroy(opj_stream_t* p_stream);
+
+/**
+ * Sets the given function to be used as a read function.
+ * @param p_stream the stream to modify
+ * @param p_function the function to use a read function.
+*/
+OPJ_API void OPJ_CALLCONV opj_stream_set_read_function(opj_stream_t* p_stream,
+ opj_stream_read_fn p_function);
+
+/**
+ * Sets the given function to be used as a write function.
+ * @param p_stream the stream to modify
+ * @param p_function the function to use a write function.
+*/
+OPJ_API void OPJ_CALLCONV opj_stream_set_write_function(opj_stream_t* p_stream,
+ opj_stream_write_fn p_function);
+
+/**
+ * Sets the given function to be used as a skip function.
+ * @param p_stream the stream to modify
+ * @param p_function the function to use a skip function.
+*/
+OPJ_API void OPJ_CALLCONV opj_stream_set_skip_function(opj_stream_t* p_stream,
+ opj_stream_skip_fn p_function);
+
+/**
+ * Sets the given function to be used as a seek function, the stream is then seekable,
+ * using SEEK_SET behavior.
+ * @param p_stream the stream to modify
+ * @param p_function the function to use a skip function.
+*/
+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
+ * @param p_data the data to set.
+ * @param p_function the function to free p_data when opj_stream_destroy() is called.
+*/
+OPJ_API void OPJ_CALLCONV opj_stream_set_user_data(opj_stream_t* p_stream,
+ void * p_data, opj_stream_free_user_data_fn p_function);
+
+/**
+ * Sets the length of the user data for the stream.
+ *
+ * @param p_stream the stream to modify
+ * @param data_length length of the user_data.
+*/
+OPJ_API void OPJ_CALLCONV opj_stream_set_user_data_length(
+ opj_stream_t* p_stream, OPJ_UINT64 data_length);
+
+/**
+ * Create a stream from a file identified with its filename with default parameters (helper function)
+ * @param fname the filename of the file to stream
+ * @param p_is_read_stream whether the stream is a read stream (true) or not (false)
+*/
+OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_create_default_file_stream(
+ const char *fname, OPJ_BOOL p_is_read_stream);
+
+/** Create a stream from a file identified with its filename with a specific buffer size
+ * @param fname the filename of the file to stream
+ * @param p_buffer_size size of the chunk used to stream
+ * @param p_is_read_stream whether the stream is a read stream (true) or not (false)
+*/
+OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_create_file_stream(
+ const char *fname,
+ OPJ_SIZE_T p_buffer_size,
+ OPJ_BOOL p_is_read_stream);
+
+/*
+==========================================================
+ event manager functions definitions
+==========================================================
+*/
+/**
+ * Set the info handler use by openjpeg.
+ * @param p_codec the codec previously initialise
+ * @param p_callback the callback function which will be used
+ * @param p_user_data client object where will be returned the message
+*/
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_info_handler(opj_codec_t * p_codec,
+ opj_msg_callback p_callback,
+ void * p_user_data);
+/**
+ * Set the warning handler use by openjpeg.
+ * @param p_codec the codec previously initialise
+ * @param p_callback the callback function which will be used
+ * @param p_user_data client object where will be returned the message
+*/
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_warning_handler(opj_codec_t * p_codec,
+ opj_msg_callback p_callback,
+ void * p_user_data);
+/**
+ * Set the error handler use by openjpeg.
+ * @param p_codec the codec previously initialise
+ * @param p_callback the callback function which will be used
+ * @param p_user_data client object where will be returned the message
+*/
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_error_handler(opj_codec_t * p_codec,
+ opj_msg_callback p_callback,
+ void * p_user_data);
+
+/*
+==========================================================
+ codec functions definitions
+==========================================================
+*/
+
+/**
+ * Creates a J2K/JP2 decompression structure
+ * @param format Decoder to select
+ *
+ * @return Returns a handle to a decompressor if successful, returns NULL otherwise
+ * */
+OPJ_API opj_codec_t* OPJ_CALLCONV opj_create_decompress(
+ OPJ_CODEC_FORMAT format);
+
+/**
+ * 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_stream);
+
+
+/**
+ * Set decoding parameters to default values
+ * @param parameters Decompression parameters
+ */
+OPJ_API void OPJ_CALLCONV opj_set_default_decoder_parameters(
+ opj_dparameters_t *parameters);
+
+/**
+ * Setup the decoder with decompression parameters provided by the user and with the message handler
+ * provided by the user.
+ *
+ * @param p_codec decompressor handler
+ * @param parameters decompression parameters
+ *
+ * @return true if the decoder is correctly set
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_decoder(opj_codec_t *p_codec,
+ opj_dparameters_t *parameters);
+
+/**
+ * Set strict decoding parameter for this decoder. If strict decoding is enabled, partial bit
+ * streams will fail to decode. If strict decoding is disabled, the decoder will decode partial
+ * bitstreams as much as possible without erroring
+ *
+ * @param p_codec decompressor handler
+ * @param strict OPJ_TRUE to enable strict decoding, OPJ_FALSE to disable
+ *
+ * @return true if the decoder is correctly set
+ */
+
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decoder_set_strict_mode(opj_codec_t *p_codec,
+ OPJ_BOOL strict);
+
+/**
+ * Allocates worker threads for the compressor/decompressor.
+ *
+ * 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
+ * used to initialize the number of threads. The value can be either an integer
+ * number, or "ALL_CPUS". If OPJ_NUM_THREADS is set and this function is called,
+ * this function will override the behaviour of the environment variable.
+ *
+ * This function must be called after opj_setup_decoder() and
+ * before opj_read_header() for the decoding side, or after opj_setup_encoder()
+ * and before opj_start_compress() for the encoding side.
+ *
+ * @param p_codec decompressor or compressor handler
+ * @param num_threads number of threads.
+ *
+ * @return OPJ_TRUE if the function is successful.
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_codec_set_threads(opj_codec_t *p_codec,
+ int num_threads);
+
+/**
+ * Decodes an image header.
+ *
+ * @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_stream,
+ opj_codec_t *p_codec,
+ opj_image_t **p_image);
+
+
+/** Restrict the number of components to decode.
+ *
+ * This function should be called after opj_read_header().
+ *
+ * This function enables to restrict the set of decoded components to the
+ * specified indices.
+ * Note that the current implementation (apply_color_transforms == OPJ_FALSE)
+ * is such that neither the multi-component transform at codestream level,
+ * nor JP2 channel transformations will be applied.
+ * Consequently the indices are relative to the codestream.
+ *
+ * Note: opj_decode_tile_data() should not be used together with opj_set_decoded_components().
+ *
+ * @param p_codec the jpeg2000 codec to read.
+ * @param numcomps Size of the comps_indices array.
+ * @param comps_indices Array of numcomps values representing the indices
+ * of the components to decode (relative to the
+ * codestream, starting at 0)
+ * @param apply_color_transforms Whether multi-component transform at codestream level
+ * or JP2 channel transformations should be applied.
+ * Currently this parameter should be set to OPJ_FALSE.
+ * Setting it to OPJ_TRUE will result in an error.
+ *
+ * @return OPJ_TRUE in case of success.
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_decoded_components(opj_codec_t *p_codec,
+ OPJ_UINT32 numcomps,
+ const OPJ_UINT32* comps_indices,
+ OPJ_BOOL apply_color_transforms);
+
+/**
+ * Sets the given area to be decoded. This function should be called right after opj_read_header and before any tile header reading.
+ *
+ * The coordinates passed to this function should be expressed in the reference grid,
+ * that is to say at the highest resolution level, even if requesting the image at lower
+ * resolution levels.
+ *
+ * Generally opj_set_decode_area() should be followed by opj_decode(), and the
+ * codec cannot be re-used.
+ * In the particular case of an image made of a single tile, several sequences of
+ * calls to opoj_set_decode_area() and opj_decode() are allowed, and will bring
+ * performance improvements when reading an image by chunks.
+ *
+ * @param p_codec the jpeg2000 codec.
+ * @param p_image the decoded image previously set by opj_read_header
+ * @param p_start_x the left position of the rectangle to decode (in image coordinates).
+ * @param p_end_x the right position of the rectangle to decode (in image coordinates).
+ * @param p_start_y the up position of the rectangle to decode (in image coordinates).
+ * @param p_end_y the bottom position of the rectangle to decode (in image coordinates).
+ *
+ * @return true if the area could be set.
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_decode_area(opj_codec_t *p_codec,
+ 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);
+
+/**
+ * Decode an image from a JPEG-2000 codestream
+ *
+ * @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(opj_codec_t *p_decompressor,
+ 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_stream input stream
+ * @param p_image output image
+ * @param tile_index index of the tile which will be decode
+ *
+ * @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_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 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.
+ *
+ * @param p_codec the jpeg2000 codec.
+ * @param p_tile_index the index of the tile to write. At the moment, the tiles must be written from 0 to n-1 in sequence.
+ * @param p_data pointer to the data to write. Data is arranged in sequence, data_comp0, then data_comp1, then ... NO INTERLEAVING should be set.
+ * @param p_data_size this value os used to make sure the data being written is correct. The size must be equal to the sum for each component of
+ * tile_width * tile_height * component_size. component_size can be 1,2 or 4 bytes, depending on the precision of the given component.
+ * @param p_stream the stream to write data to.
+ *
+ * @return true if the data could be written.
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_write_tile(opj_codec_t *p_codec,
+ OPJ_UINT32 p_tile_index,
+ OPJ_BYTE * p_data,
+ 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 that 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.
+ *
+ * @param p_codec the jpeg2000 codec.
+ * @param p_tile_index pointer to a value that will hold the index of the tile being decoded, in case of success.
+ * @param p_data_size pointer to a value that will hold the maximum size of the decoded data, in case of success. In case
+ * of truncated codestreams, the actual number of bytes decoded may be lower. The computation of the size is the same
+ * as depicted in opj_write_tile.
+ * @param p_tile_x0 pointer to a value that will hold the x0 pos of the tile (in the image).
+ * @param p_tile_y0 pointer to a value that will hold the y0 pos of the tile (in the image).
+ * @param p_tile_x1 pointer to a value that will hold the x1 pos of the tile (in the image).
+ * @param p_tile_y1 pointer to a value that will hold the y1 pos of the tile (in the image).
+ * @param p_nb_comps pointer to a value that will hold the number of components in the tile.
+ * @param p_should_go_on pointer to a boolean that will hold the fact that the decoding should go on. In case the
+ * codestream is over at the time of the call, the value will be set to false. The user should then stop
+ * the decoding.
+ * @param p_stream the stream to decode.
+ * @return true if the tile header could be decoded. In case the decoding should end, the returned value is still true.
+ * returning false may be the result of a shortage of memory or an internal error.
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_read_tile_header(opj_codec_t *p_codec,
+ opj_stream_t * p_stream,
+ 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_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.
+ *
+ * Note: opj_decode_tile_data() should not be used together with opj_set_decoded_components().
+ *
+ * @param p_codec the jpeg2000 codec.
+ * @param p_tile_index the index of the tile being decoded, this should be the value set by opj_read_tile_header.
+ * @param p_data pointer to a memory block that will hold the decoded data.
+ * @param p_data_size size of p_data. p_data_size should be bigger or equal to the value set by opj_read_tile_header.
+ * @param p_stream the stream to decode.
+ *
+ * @return true if the data could be decoded.
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decode_tile_data(opj_codec_t *p_codec,
+ OPJ_UINT32 p_tile_index,
+ OPJ_BYTE * p_data,
+ OPJ_UINT32 p_data_size,
+ opj_stream_t *p_stream);
+
+/* COMPRESSION FUNCTIONS*/
+
+/**
+ * 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(OPJ_CODEC_FORMAT format);
+
+/**
+Set encoding parameters to default values, that means :
+<ul>
+<li>Lossless
+<li>1 tile
+<li>Size of precinct : 2^15 x 2^15 (means 1 precinct)
+<li>Size of code-block : 64 x 64
+<li>Number of resolutions: 6
+<li>No SOP marker in the codestream
+<li>No EPH marker in the codestream
+<li>No sub-sampling in x or y direction
+<li>No mode switch activated
+<li>Progression order: LRCP
+<li>No index file
+<li>No ROI upshifted
+<li>No offset of the origin of the image
+<li>No offset of the origin of the tiles
+<li>Reversible DWT 5-3
+</ul>
+@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 p_codec Compressor handle
+ * @param parameters Compression parameters
+ * @param image Input filled image
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_encoder(opj_codec_t *p_codec,
+ opj_cparameters_t *parameters,
+ opj_image_t *image);
+
+
+/**
+ * Specify extra options for the encoder.
+ *
+ * This may be called after opj_setup_encoder() and before opj_start_compress()
+ *
+ * This is the way to add new options in a fully ABI compatible way, without
+ * 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 be
+ * written. Since 2.4.0</li>
+ * <li>TLM=YES/NO. Defaults to NO (except for Cinema and IMF profiles).
+ * If set to YES, TLM marker segments, indicating the length of each
+ * tile-part part will be written. Since 2.4.0</li>
+ * <li>GUARD_BITS=value. Number of guard bits in [0,7] range. Default value is 2.
+ * 1 may be used sometimes (like in SMPTE DCP Bv2.1 Application Profile for 2K images).
+ * Since 2.5.0</li>
+ * </ul>
+ *
+ * @param p_codec Compressor handle
+ * @param p_options Compression options. This should be a NULL terminated
+ * array of strings. Each string is of the form KEY=VALUE.
+ *
+ * @return OPJ_TRUE in case of success.
+ * @since 2.4.0
+ */
+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.
+ * @param p_codec Compressor handle
+ * @param p_image Input filled image
+ * @param p_stream Input stgream
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_start_compress(opj_codec_t *p_codec,
+ opj_image_t * p_image,
+ opj_stream_t *p_stream);
+
+/**
+ * End to compress the current image.
+ * @param p_codec Compressor handle
+ * @param p_stream Input stgream
+ */
+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
+ *
+ * @return Returns true if successful, returns false otherwise
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_encode(opj_codec_t *p_codec,
+ opj_stream_t *p_stream);
+/*
+==========================================================
+ codec output functions definitions
+==========================================================
+*/
+/* EXPERIMENTAL FUNCTIONS FOR NOW, USED ONLY IN J2K_DUMP*/
+
+/**
+Destroy Codestream information after compression or decompression
+@param cstr_info Codestream information structure
+*/
+OPJ_API void OPJ_CALLCONV opj_destroy_cstr_info(opj_codestream_info_v2_t
+ **cstr_info);
+
+
+/**
+ * Dump the codec information into the output stream
+ *
+ * @param p_codec the jpeg2000 codec.
+ * @param info_flag type of information dump.
+ * @param output_stream output stream where dump the information gotten from the codec.
+ *
+ */
+OPJ_API void OPJ_CALLCONV opj_dump_codec(opj_codec_t *p_codec,
+ OPJ_INT32 info_flag,
+ FILE* output_stream);
+
+/**
+ * Get the codestream information from the codec
+ *
+ * @param p_codec the jpeg2000 codec.
+ *
+ * @return a pointer to a codestream information structure.
+ *
+ */
+OPJ_API opj_codestream_info_v2_t* OPJ_CALLCONV opj_get_cstr_info(
+ opj_codec_t *p_codec);
+
+/**
+ * Get the codestream index from the codec
+ *
+ * @param p_codec the jpeg2000 codec.
+ *
+ * @return a pointer to a codestream index structure.
+ *
+ */
+OPJ_API opj_codestream_index_t * OPJ_CALLCONV opj_get_cstr_index(
+ opj_codec_t *p_codec);
+
+OPJ_API void OPJ_CALLCONV opj_destroy_cstr_index(opj_codestream_index_t
+ **p_cstr_index);
+
+
+/**
+ * Get the JP2 file information from the codec FIXME
+ *
+ * @param p_codec the jpeg2000 codec.
+ *
+ * @return a pointer to a JP2 metadata structure.
+ *
+ */
+OPJ_API opj_jp2_metadata_t* OPJ_CALLCONV opj_get_jp2_metadata(
+ opj_codec_t *p_codec);
+
+/**
+ * Get the JP2 file index from the codec FIXME
+ *
+ * @param p_codec the jpeg2000 codec.
+ *
+ * @return a pointer to a JP2 index structure.
+ *
+ */
+OPJ_API opj_jp2_index_t* OPJ_CALLCONV opj_get_jp2_index(opj_codec_t *p_codec);
+
+
+/*
+==========================================================
+ MCT functions
+==========================================================
+*/
+
+/**
+ * Sets the MCT matrix to use.
+ *
+ * @param parameters the parameters to change.
+ * @param pEncodingMatrix the encoding matrix.
+ * @param p_dc_shift the dc shift coefficients to use.
+ * @param pNbComp the number of components of the image.
+ *
+ * @return true if the parameters could be set.
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_MCT(opj_cparameters_t *parameters,
+ OPJ_FLOAT32 * pEncodingMatrix,
+ OPJ_INT32 * p_dc_shift,
+ OPJ_UINT32 pNbComp);
+
+/*
+==========================================================
+ Thread functions
+==========================================================
+*/
+
+/** Returns if the library is built with thread support.
+ * OPJ_TRUE if mutex, condition, thread, thread pool are available.
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_has_thread_support(void);
+
+/** Return the number of virtual CPUs */
+OPJ_API int OPJ_CALLCONV opj_get_num_cpus(void);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* OPENJPEG_H */
--- /dev/null
+/* create opj_config.h for CMake */
+#define OPJ_HAVE_STDINT_H 1
+
+/*--------------------------------------------------------------------------*/
+/* OpenJPEG Versioning */
+
+/* Version number. */
+#define OPJ_VERSION_MAJOR 2
+#define OPJ_VERSION_MINOR 5
+#define OPJ_VERSION_BUILD 0
--- /dev/null
+/*
+ * The copyright in this software is being made available under the 2-clauses
+ * BSD License, included below. This software may be subject to other third
+ * party and contributor rights, including patent rights, and no such rights
+ * are granted under this license.
+ *
+ * Copyright (c) 2012, Mathieu Malaterre <mathieu.malaterre@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef OPJ_STDINT_H
+#define OPJ_STDINT_H
+
+#include "opj_config.h"
+#ifdef OPJ_HAVE_STDINT_H
+#include <stdint.h>
+#else
+#if defined(_WIN32)
+typedef signed __int8 int8_t;
+typedef unsigned __int8 uint8_t;
+typedef signed __int16 int16_t;
+typedef unsigned __int16 uint16_t;
+typedef signed __int32 int32_t;
+typedef unsigned __int32 uint32_t;
+typedef signed __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+#else
+#error unsupported platform
+#endif
+#endif
+
+#endif /* OPJ_STDINT_H */
--- /dev/null
+libopenjp2.so.7
\ No newline at end of file
--- /dev/null
+libopenjp2.so.2.5.0
\ No newline at end of file
--- /dev/null
+#-----------------------------------------------------------------------------
+#
+# OPENJPEGConfig.cmake - CMake configuration file for external projects.
+#
+# This file is configured by OPENJPEG and used by the UseOPENJPEG.cmake
+# module to load OPENJPEG's settings for an external project.
+
+# The OPENJPEG version number.
+set(OPENJPEG_MAJOR_VERSION "2")
+set(OPENJPEG_MINOR_VERSION "5")
+set(OPENJPEG_BUILD_VERSION "0")
+
+# The libraries.
+set(OPENJPEG_LIBRARIES "openjp2")
+
+# The CMake macros dir.
+set(OPENJPEG_CMAKE_DIR "lib/openjpeg-2.5")
+
+# The configuration options.
+set(OPENJPEG_BUILD_SHARED_LIBS "ON")
+
+# The "use" file.
+set(OPENJPEG_USE_FILE "")
+
+get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+if(EXISTS ${SELF_DIR}/OpenJPEGTargets.cmake)
+ # This is an install tree
+ include(${SELF_DIR}/OpenJPEGTargets.cmake)
+
+ # We find a relative path from the PKG directory to header files.
+ set(PKG_DIR "/home/even/abi-check/work/abi-check/installed/openjpeg/2.5.0/lib/openjpeg-2.5")
+ set(INC_DIR "/home/even/abi-check/work/abi-check/installed/openjpeg/2.5.0/include/openjpeg-2.5")
+ file(RELATIVE_PATH PKG_TO_INC_RPATH "${PKG_DIR}" "${INC_DIR}")
+
+ get_filename_component(OPENJPEG_INCLUDE_DIRS "${SELF_DIR}/${PKG_TO_INC_RPATH}" REALPATH)
+
+else()
+ if(EXISTS ${SELF_DIR}/OpenJPEGExports.cmake)
+ # This is a build tree
+ set( OPENJPEG_INCLUDE_DIRS )
+
+ include(${SELF_DIR}/OpenJPEGExports.cmake)
+
+ else()
+ message(FATAL_ERROR "ooops")
+ endif()
+endif()
+
+set(OPENJPEG_USE_FILE ${SELF_DIR}/UseOPENJPEG.cmake)
+
+# Backward compatible part:
+set(OPENJPEG_FOUND TRUE)
+
--- /dev/null
+#----------------------------------------------------------------
+# Generated CMake target import file for configuration "Debug".
+#----------------------------------------------------------------
+
+# Commands may need to know the format version.
+set(CMAKE_IMPORT_FILE_VERSION 1)
+
+# Import target "openjp2" for configuration "Debug"
+set_property(TARGET openjp2 APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+set_target_properties(openjp2 PROPERTIES
+ IMPORTED_LINK_INTERFACE_LIBRARIES_DEBUG "m;-lpthread"
+ IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/libopenjp2.so.2.5.0"
+ IMPORTED_SONAME_DEBUG "libopenjp2.so.7"
+ )
+
+list(APPEND _IMPORT_CHECK_TARGETS openjp2 )
+list(APPEND _IMPORT_CHECK_FILES_FOR_openjp2 "${_IMPORT_PREFIX}/lib/libopenjp2.so.2.5.0" )
+
+# Import target "openjp2_static" for configuration "Debug"
+set_property(TARGET openjp2_static APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+set_target_properties(openjp2_static PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
+ IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/libopenjp2.a"
+ )
+
+list(APPEND _IMPORT_CHECK_TARGETS openjp2_static )
+list(APPEND _IMPORT_CHECK_FILES_FOR_openjp2_static "${_IMPORT_PREFIX}/lib/libopenjp2.a" )
+
+# Import target "opj_decompress" for configuration "Debug"
+set_property(TARGET opj_decompress APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+set_target_properties(opj_decompress PROPERTIES
+ IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/opj_decompress"
+ )
+
+list(APPEND _IMPORT_CHECK_TARGETS opj_decompress )
+list(APPEND _IMPORT_CHECK_FILES_FOR_opj_decompress "${_IMPORT_PREFIX}/bin/opj_decompress" )
+
+# Import target "opj_compress" for configuration "Debug"
+set_property(TARGET opj_compress APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+set_target_properties(opj_compress PROPERTIES
+ IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/opj_compress"
+ )
+
+list(APPEND _IMPORT_CHECK_TARGETS opj_compress )
+list(APPEND _IMPORT_CHECK_FILES_FOR_opj_compress "${_IMPORT_PREFIX}/bin/opj_compress" )
+
+# Import target "opj_dump" for configuration "Debug"
+set_property(TARGET opj_dump APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+set_target_properties(opj_dump PROPERTIES
+ IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/opj_dump"
+ )
+
+list(APPEND _IMPORT_CHECK_TARGETS opj_dump )
+list(APPEND _IMPORT_CHECK_FILES_FOR_opj_dump "${_IMPORT_PREFIX}/bin/opj_dump" )
+
+# Commands beyond this point should not need to know the version.
+set(CMAKE_IMPORT_FILE_VERSION)
--- /dev/null
+# Generated by CMake
+
+if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
+ message(FATAL_ERROR "CMake >= 2.6.0 required")
+endif()
+cmake_policy(PUSH)
+cmake_policy(VERSION 2.6)
+#----------------------------------------------------------------
+# Generated CMake target import file.
+#----------------------------------------------------------------
+
+# Commands may need to know the format version.
+set(CMAKE_IMPORT_FILE_VERSION 1)
+
+# Protect against multiple inclusion, which would fail when already imported targets are added once more.
+set(_targetsDefined)
+set(_targetsNotDefined)
+set(_expectedTargets)
+foreach(_expectedTarget openjp2 openjp2_static opj_decompress opj_compress opj_dump)
+ list(APPEND _expectedTargets ${_expectedTarget})
+ if(NOT TARGET ${_expectedTarget})
+ list(APPEND _targetsNotDefined ${_expectedTarget})
+ endif()
+ if(TARGET ${_expectedTarget})
+ list(APPEND _targetsDefined ${_expectedTarget})
+ endif()
+endforeach()
+if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
+ unset(_targetsDefined)
+ unset(_targetsNotDefined)
+ unset(_expectedTargets)
+ set(CMAKE_IMPORT_FILE_VERSION)
+ cmake_policy(POP)
+ return()
+endif()
+if(NOT "${_targetsDefined}" STREQUAL "")
+ message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
+endif()
+unset(_targetsDefined)
+unset(_targetsNotDefined)
+unset(_expectedTargets)
+
+
+# Compute the installation prefix relative to this file.
+get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+if(_IMPORT_PREFIX STREQUAL "/")
+ set(_IMPORT_PREFIX "")
+endif()
+
+# Create imported target openjp2
+add_library(openjp2 SHARED IMPORTED)
+
+set_target_properties(openjp2 PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/openjpeg-2.5"
+)
+
+# Create imported target openjp2_static
+add_library(openjp2_static STATIC IMPORTED)
+
+set_target_properties(openjp2_static PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/openjpeg-2.5"
+)
+
+# Create imported target opj_decompress
+add_executable(opj_decompress IMPORTED)
+
+# Create imported target opj_compress
+add_executable(opj_compress IMPORTED)
+
+# Create imported target opj_dump
+add_executable(opj_dump IMPORTED)
+
+# Load information for each installed configuration.
+get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+file(GLOB CONFIG_FILES "${_DIR}/OpenJPEGTargets-*.cmake")
+foreach(f ${CONFIG_FILES})
+ include(${f})
+endforeach()
+
+# Cleanup temporary variables.
+set(_IMPORT_PREFIX)
+
+# Loop over all imported files and verify that they actually exist
+foreach(target ${_IMPORT_CHECK_TARGETS} )
+ foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
+ if(NOT EXISTS "${file}" )
+ message(FATAL_ERROR "The imported target \"${target}\" references the file
+ \"${file}\"
+but this file does not exist. Possible reasons include:
+* The file was deleted, renamed, or moved to another location.
+* An install or uninstall procedure did not complete successfully.
+* The installation package was faulty and contained
+ \"${CMAKE_CURRENT_LIST_FILE}\"
+but not all the files it references.
+")
+ endif()
+ endforeach()
+ unset(_IMPORT_CHECK_FILES_FOR_${target})
+endforeach()
+unset(_IMPORT_CHECK_TARGETS)
+
+# This file does not depend on other imported targets which have
+# been exported from the same project but in a separate export set.
+
+# Commands beyond this point should not need to know the version.
+set(CMAKE_IMPORT_FILE_VERSION)
+cmake_policy(POP)
--- /dev/null
+prefix=/home/even/abi-check/work/abi-check/installed/openjpeg/2.5.0
+bindir=${prefix}/bin
+mandir=${prefix}/
+docdir=${prefix}/
+libdir=${prefix}/lib
+includedir=${prefix}/include/openjpeg-2.5
+
+Name: openjp2
+Description: JPEG2000 library (Part 1 and 2)
+URL: http://www.openjpeg.org/
+Version: 2.5.0
+Libs: -L${libdir} -lopenjp2
+Libs.private: -lm
+Cflags: -I${includedir}
#define OPJ_DEPRECATED(func) func
#endif
+#if defined(__GNUC__) && __GNUC__ >= 6
+#define OPJ_DEPRECATED_STRUCT_MEMBER(memb, msg) __attribute__ ((deprecated(msg))) memb
+#else
+#define OPJ_DEPRECATED_STRUCT_MEMBER(memb, msg) memb
+#endif
+
#if defined(OPJ_STATIC) || !defined(_WIN32)
/* http://gcc.gnu.org/wiki/Visibility */
# if !defined(_WIN32) && __GNUC__ >= 4
char infile[OPJ_PATH_LEN];
/** output file name */
char outfile[OPJ_PATH_LEN];
- /** DEPRECATED. Index generation is now handeld with the opj_encode_with_info() function. Set to NULL */
+ /** DEPRECATED. Index generation is now handled with the opj_encode_with_info() function. Set to NULL */
int index_on;
- /** DEPRECATED. Index generation is now handeld with the opj_encode_with_info() function. Set to NULL */
+ /** DEPRECATED. Index generation is now handled with the opj_encode_with_info() function. Set to NULL */
char index[OPJ_PATH_LEN];
/** subimage encoding: origin image offset in x direction */
int image_offset_x0;
OPJ_UINT32 x0;
/** y component offset compared to the whole image */
OPJ_UINT32 y0;
- /** precision */
+ /** precision: number of bits per component per pixel */
OPJ_UINT32 prec;
- /** image depth in bits */
- OPJ_UINT32 bpp;
+ /** obsolete: use prec instead */
+ OPJ_DEPRECATED_STRUCT_MEMBER(OPJ_UINT32 bpp, "Use prec instead");
/** signed (1) / unsigned (0) */
OPJ_UINT32 sgnd;
/** number of decoded resolution */
OPJ_UINT32 x0;
/** y component offset compared to the whole image */
OPJ_UINT32 y0;
- /** precision */
+ /** precision: number of bits per component per pixel */
OPJ_UINT32 prec;
- /** image depth in bits */
- OPJ_UINT32 bpp;
+ /** obsolete: use prec instead */
+ OPJ_DEPRECATED_STRUCT_MEMBER(OPJ_UINT32 bpp, "Use prec instead");
/** signed (1) / unsigned (0) */
OPJ_UINT32 sgnd;
} opj_image_cmptparm_t;
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_decoder(opj_codec_t *p_codec,
opj_dparameters_t *parameters);
+/**
+ * Set strict decoding parameter for this decoder. If strict decoding is enabled, partial bit
+ * streams will fail to decode. If strict decoding is disabled, the decoder will decode partial
+ * bitstreams as much as possible without erroring
+ *
+ * @param p_codec decompressor handler
+ * @param strict OPJ_TRUE to enable strict decoding, OPJ_FALSE to disable
+ *
+ * @return true if the decoder is correctly set
+ */
+
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decoder_set_strict_mode(opj_codec_t *p_codec,
+ OPJ_BOOL strict);
+
/**
* Allocates worker threads for the compressor/decompressor.
*
* Get the decoded tile from the codec
*
* @param p_codec the jpeg2000 codec.
- * @param p_stream input streamm
+ * @param p_stream input stream
* @param p_image output image
* @param tile_index index of the tile which will be decode
*
* <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 be
* written. Since 2.4.0</li>
- * <li>TLM=YES/NO. Defaults to NO (except for Cinema and IMF profiles).
- * If set to YES, TLM marker segments, indicating the length of each
- * tile-part part will be written. Since 2.4.0</li>
+ * <li>TLM=YES/NO. Defaults to NO (except for Cinema and IMF profiles).
+ * If set to YES, TLM marker segments, indicating the length of each
+ * tile-part part will be written. Since 2.4.0</li>
+ * <li>GUARD_BITS=value. Number of guard bits in [0,7] range. Default value is 2.
+ * 1 may be used sometimes (like in SMPTE DCP Bv2.1 Application Profile for 2K images).
+ * Since 2.5.0</li>
* </ul>
*
* @param p_codec Compressor handle
include(${SELF_DIR}/OpenJPEGTargets.cmake)
# We find a relative path from the PKG directory to header files.
- set(PKG_DIR "/home/travis/abi-check/work/abi-check/installed/openjpeg/current/lib/openjpeg-2.5")
- set(INC_DIR "/home/travis/abi-check/work/abi-check/installed/openjpeg/current/include/openjpeg-2.5")
+ set(PKG_DIR "/home/even/abi-check/work/abi-check/installed/openjpeg/current/lib/openjpeg-2.5")
+ set(INC_DIR "/home/even/abi-check/work/abi-check/installed/openjpeg/current/include/openjpeg-2.5")
file(RELATIVE_PATH PKG_TO_INC_RPATH "${PKG_DIR}" "${INC_DIR}")
get_filename_component(OPENJPEG_INCLUDE_DIRS "${SELF_DIR}/${PKG_TO_INC_RPATH}" REALPATH)
# Create imported target openjp2
add_library(openjp2 SHARED IMPORTED)
+set_target_properties(openjp2 PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/openjpeg-2.5"
+)
+
# Create imported target openjp2_static
add_library(openjp2_static STATIC IMPORTED)
+set_target_properties(openjp2_static PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/openjpeg-2.5"
+)
+
# Create imported target opj_decompress
add_executable(opj_decompress IMPORTED)
-prefix=/home/travis/abi-check/work/abi-check/installed/openjpeg/current
+prefix=/home/even/abi-check/work/abi-check/installed/openjpeg/current
bindir=${prefix}/bin
mandir=${prefix}/
docdir=${prefix}/
--- /dev/null
+{
+ "BC": "85",
+ "Added": 1,
+ "Removed": 0,
+ "TotalProblems": 3,
+ "ObjectsAdded": 0,
+ "ObjectsRemoved": 0,
+ "ObjectsAddedSymbols": 0,
+ "ObjectsRemovedSymbols": 0,
+ "ChangedSoname": 0,
+ "TotalObjects": 1
+}
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="keywords" content="OpenJPEG, ABI, changes, compatibility, report" />
+ <meta name="description" content="ABI changes/compatibility report between 2.4.0 and 2.5.0 versions of the openjpeg" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/report.css" />
+
+
+ <title>
+ OpenJPEG: Objects ABI report between 2.4.0 and 2.5.0 versions
+ </title>
+
+ </head>
+
+<body>
+<table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Objects ABI report: <span class='version'>2.4.0</span> vs <span class='version'>2.5.0</span></h1>
+<br/>
+<br/>
+<table class='summary'>
+<tr><th>Object</th>
+<th>Backward<br/>Compatibility</th>
+<th>Added<br/>Symbols</th>
+<th>Removed<br/>Symbols</th>
+</tr>
+<tr>
+<td class='object'>libopenjp2.so.2.4.0</td>
+<td class='incompatible'><a href='../../../../compat_report/openjpeg/2.4.0/2.5.0/c6917/abi_compat_report.html'>85%</a></td>
+<td class='added'><a class='num' href='../../../../compat_report/openjpeg/2.4.0/2.5.0/c6917/abi_compat_report.html#Added'>1 new</a></td>
+<td class='ok'>0</td>
+</tr>
+</table>
+<br/>
+<br/>
+<hr/>
+<div align='right'><a class='home' title="Andrey Ponomarenko's ABI laboratory" href='https://github.com/lvc'>github.com/lvc</a></div>
+<br/>
+
+</body>
+</html>
--- /dev/null
+{
+ "BC": "100",
+ "Added": 0,
+ "Removed": 0,
+ "TotalProblems": 0,
+ "ObjectsAdded": 0,
+ "ObjectsRemoved": 0,
+ "ObjectsAddedSymbols": 0,
+ "ObjectsRemovedSymbols": 0,
+ "ChangedSoname": 0,
+ "TotalObjects": 1
+}
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="keywords" content="OpenJPEG, ABI, changes, compatibility, report" />
+ <meta name="description" content="ABI changes/compatibility report between 2.5.0 and current versions of the openjpeg" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/report.css" />
+
+
+ <title>
+ OpenJPEG: Objects ABI report between 2.5.0 and current versions
+ </title>
+
+ </head>
+
+<body>
+<table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Objects ABI report: <span class='version'>2.5.0</span> vs <span class='version'>current</span></h1>
+<br/>
+<br/>
+<table class='summary'>
+<tr><th>Object</th>
+<th>Backward<br/>Compatibility</th>
+<th>Added<br/>Symbols</th>
+<th>Removed<br/>Symbols</th>
+</tr>
+<tr>
+<td class='object'>libopenjp2.so.2.5.0</td>
+<td class='ok'><a href='../../../../compat_report/openjpeg/2.5.0/current/b7dce/abi_compat_report.html'>100%</a></td>
+<td class='ok'>0</td>
+<td class='ok'>0</td>
+</tr>
+</table>
+<br/>
+<br/>
+<hr/>
+<div align='right'><a class='home' title="Andrey Ponomarenko's ABI laboratory" href='https://github.com/lvc'>github.com/lvc</a></div>
+<br/>
+
+</body>
+</html>
"PublicSymbols": "public_symbols/openjpeg/current/list",
"PublicTypes": "public_types/openjpeg/current/list"
},
+ {
+ "Number": "2.5.0",
+ "Installed": "installed/openjpeg/2.5.0",
+ "Source": "src/openjpeg/2.5.0/version.-2.5.0.tar.gz",
+ "Changelog": "CHANGELOG.md",
+ "HeadersDiff": "On",
+ "PkgDiff": "Off",
+ "ABIView": "Off",
+ "ABIDiff": "Off",
+ "PublicSymbols": "public_symbols/openjpeg/2.5.0/list",
+ "PublicTypes": "public_types/openjpeg/2.5.0/list"
+ },
{
"Number": "2.4.0",
"Installed": "installed/openjpeg/2.4.0",
"Source": "src/openjpeg/2.4.0/version.-2.4.0.tar.gz",
- "Changelog": "Off",
+ "Changelog": "CHANGELOG.md",
"HeadersDiff": "On",
"PkgDiff": "Off",
"ABIView": "Off",
- "ABIDiff": "Off"
+ "ABIDiff": "Off",
+ "PublicSymbols": "public_symbols/openjpeg/2.4.0/list",
+ "PublicTypes": "public_types/openjpeg/2.4.0/list"
},
{
"Number": "2.3.1",
<th>Headers<br/>Diff</th>
</tr>
<tr id='current'><td>current</td>
-<td>2021-06-09<br/>11:53</td>
+<td>2022-05-13<br/>19:13</td>
<td>7</td>
<td><a href='../../changelog/openjpeg/current/log.html'>changelog</a></td>
-<td class='ok'><a href='../../objects_report/openjpeg/2.4.0/current/report.html'>100%</a></td>
+<td class='ok'><a href='../../objects_report/openjpeg/2.5.0/current/report.html'>100%</a></td>
<td class='ok'>0</td>
<td class='ok'>0</td>
-<td><a href='../../headers_diff/openjpeg/2.4.0/current/diff.html'>2</a></td>
+<td>0</td>
+</tr>
+<tr id='v2.5.0'><td>2.5.0</td>
+<td>2022-05-13</td>
+<td>7</td>
+<td><a href='../../changelog/openjpeg/2.5.0/log.html'>changelog</a></td>
+<td class='incompatible'><a href='../../objects_report/openjpeg/2.4.0/2.5.0/report.html'>85%</a></td>
+<td class='added'><a class='num' href='../../objects_report/openjpeg/2.4.0/2.5.0/report.html'>1 new</a></td>
+<td class='ok'>0</td>
+<td><a href='../../headers_diff/openjpeg/2.4.0/2.5.0/diff.html'>2</a></td>
</tr>
<tr id='v2.4.0'><td>2.4.0</td>
<td>2020-12-28</td>
<td>7</td>
-<td>N/A</td>
+<td><a href='../../changelog/openjpeg/2.4.0/log.html'>changelog</a></td>
<td class='ok'><a href='../../objects_report/openjpeg/2.3.1/2.4.0/report.html'>100%</a></td>
<td class='added'><a class='num' href='../../objects_report/openjpeg/2.3.1/2.4.0/report.html'>1 new</a></td>
<td class='ok'>0</td>
<td>N/A</td>
<td>N/A</td>
</tr>
-</table><br/>Maintained by <a href='http://www.openjpeg.org/'>OpenJPEG team</a>. Last updated on Wed Jun 9 09:58:41 2021.<br/>
+</table><br/>Maintained by <a href='http://www.openjpeg.org/'>OpenJPEG team</a>. Last updated on Fri May 13 20:10:13 2022.<br/>
<br/>
<hr/>
<div align='right'><a class='home' title="Andrey Ponomarenko's ABI laboratory" href='http://abi-laboratory.pro/'>abi-laboratory.pro</a></div>