--- /dev/null
+$VAR1 = {
+ 'ABI_DUMPER_VERSION' => '0.99.15',
+ 'ABI_DUMP_VERSION' => '3.2',
+ 'Arch' => 'x86_64',
+ 'GccVersion' => '4.8.1',
+ 'Headers' => {
+ 'openjpeg.h' => 1
+ },
+ 'Language' => 'C',
+ 'LibraryName' => 'libopenjp2.so.2.3.1',
+ 'LibraryVersion' => '2.3.1',
+ 'NameSpaces' => {},
+ 'Needed' => {
+ 'libc.so.6' => 1,
+ 'libm.so.6' => 1,
+ 'libpthread.so.0' => 1
+ },
+ 'PublicABI' => '1',
+ 'Sources' => {
+ 'cio.c' => 1,
+ 'image.c' => 1,
+ 'openjpeg.c' => 1,
+ 'thread.c' => 1
+ },
+ 'SymbolInfo' => {
+ '14432' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_buffer_size',
+ 'type' => '9059'
+ },
+ '1' => {
+ 'name' => 'l_is_input',
+ 'type' => '2747'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '14584',
+ 'ShortName' => 'opj_stream_create',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '158'
+ },
+ '14590' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'l_is_input',
+ 'type' => '2747'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '14584',
+ 'ShortName' => 'opj_stream_default_create',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '194'
+ },
+ '14667' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_destroy',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '199'
+ },
+ '14760' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ },
+ '1' => {
+ 'name' => 'p_function',
+ 'type' => '11288'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_read_function',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '213'
+ },
+ '14829' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ },
+ '1' => {
+ 'name' => 'p_function',
+ 'type' => '11381'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_seek_function',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '225'
+ },
+ '14898' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ },
+ '1' => {
+ 'name' => 'p_function',
+ 'type' => '11331'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_write_function',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '236'
+ },
+ '14967' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ },
+ '1' => {
+ 'name' => 'p_function',
+ 'type' => '11343'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_skip_function',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '248'
+ },
+ '15036' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ },
+ '1' => {
+ 'name' => 'p_data',
+ 'type' => '130'
+ },
+ '2' => {
+ 'name' => 'p_function',
+ 'type' => '11419'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_user_data',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '260'
+ },
+ '15123' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ },
+ '1' => {
+ 'name' => 'data_length',
+ 'type' => '11221'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_user_data_length',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '271'
+ },
+ '169182' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '1062',
+ 'Return' => '156',
+ 'ShortName' => 'opj_version',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '160'
+ },
+ '169502' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '1587',
+ 'Param' => {
+ '0' => {
+ 'name' => 'cstr_info',
+ 'type' => '169520'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_destroy_cstr_info',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '966'
+ },
+ '231829' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'p_callback',
+ 'type' => '11254'
+ },
+ '2' => {
+ 'name' => 'p_user_data',
+ 'type' => '130'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_set_info_handler',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '44'
+ },
+ '231927' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'p_callback',
+ 'type' => '11254'
+ },
+ '2' => {
+ 'name' => 'p_user_data',
+ 'type' => '130'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_set_warning_handler',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '59'
+ },
+ '232013' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'p_callback',
+ 'type' => '11254'
+ },
+ '2' => {
+ 'name' => 'p_user_data',
+ 'type' => '130'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_set_error_handler',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '74'
+ },
+ '232128' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_format',
+ 'type' => '220887'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '231915',
+ 'ShortName' => 'opj_create_decompress',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '168'
+ },
+ '232350' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'parameters',
+ 'type' => '76886'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_set_default_decoder_parameters',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '364'
+ },
+ '232481' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'num_threads',
+ 'type' => '87'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_codec_set_threads',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '387'
+ },
+ '232599' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'parameters',
+ 'type' => '76886'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_setup_decoder',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '398'
+ },
+ '232741' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ },
+ '1' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '2' => {
+ 'name' => 'p_image',
+ 'type' => '76880'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_read_header',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '418'
+ },
+ '232944' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'numcomps',
+ 'type' => '9048'
+ },
+ '2' => {
+ 'name' => 'comps_indices',
+ 'type' => '76898'
+ },
+ '3' => {
+ 'name' => 'apply_color_transforms',
+ 'type' => '2747'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx',
+ '3' => 'rcx'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_set_decoded_components',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '442'
+ },
+ '233186' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ },
+ '2' => {
+ 'name' => 'p_image',
+ 'type' => '21147'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_decode',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '471'
+ },
+ '233340' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'p_image',
+ 'type' => '21147'
+ },
+ '2' => {
+ 'name' => 'p_start_x',
+ 'type' => '9037'
+ },
+ '3' => {
+ 'name' => 'p_start_y',
+ 'type' => '9037'
+ },
+ '4' => {
+ 'name' => 'p_end_x',
+ 'type' => '9037'
+ },
+ '5' => {
+ 'name' => 'p_end_y',
+ 'type' => '9037'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx',
+ '3' => 'rcx',
+ '4' => 'r8',
+ '5' => 'r9'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_set_decode_area',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '492'
+ },
+ '233548' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ },
+ '2' => {
+ 'name' => 'p_tile_index',
+ 'type' => '11852'
+ },
+ '3' => {
+ 'name' => 'p_data_size',
+ 'type' => '11852'
+ },
+ '4' => {
+ 'name' => 'p_tile_x0',
+ 'type' => '19208'
+ },
+ '5' => {
+ 'name' => 'p_tile_y0',
+ 'type' => '19208'
+ },
+ '6' => {
+ 'name' => 'p_tile_x1',
+ 'offset' => '0',
+ 'type' => '19208'
+ },
+ '7' => {
+ 'name' => 'p_tile_y1',
+ 'type' => '19208'
+ },
+ '8' => {
+ 'name' => 'p_nb_comps',
+ 'type' => '11852'
+ },
+ '9' => {
+ 'name' => 'p_should_go_on',
+ 'type' => '23247'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rbp',
+ '3' => 'rbx',
+ '4' => 'rcx',
+ '5' => 'r8',
+ '7' => 'rdx',
+ '8' => 'rdx',
+ '9' => 'rdx'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_read_tile_header',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '515'
+ },
+ '233766' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'p_tile_index',
+ 'type' => '9048'
+ },
+ '2' => {
+ 'name' => 'p_data',
+ 'type' => '9070'
+ },
+ '3' => {
+ 'name' => 'p_data_size',
+ 'type' => '9048'
+ },
+ '4' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx',
+ '3' => 'rcx',
+ '4' => 'r8'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_decode_tile_data',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '546'
+ },
+ '233966' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ },
+ '2' => {
+ 'name' => 'p_image',
+ 'type' => '21147'
+ },
+ '3' => {
+ 'name' => 'tile_index',
+ 'type' => '9048'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx',
+ '3' => 'rcx'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_get_decoded_tile',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '572'
+ },
+ '234143' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'res_factor',
+ 'type' => '9048'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_set_decoded_resolution_factor',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '596'
+ },
+ '234252' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_format',
+ 'type' => '220887'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '231915',
+ 'ShortName' => 'opj_create_compress',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '614'
+ },
+ '234477' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'parameters',
+ 'type' => '76909'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_set_default_encoder_parameters',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '712'
+ },
+ '234608' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'parameters',
+ 'type' => '76909'
+ },
+ '2' => {
+ 'name' => 'p_image',
+ 'type' => '21147'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_setup_encoder',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '773'
+ },
+ '234746' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'p_image',
+ 'type' => '21147'
+ },
+ '2' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_start_compress',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '791'
+ },
+ '234900' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_info',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_encode',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '810'
+ },
+ '235031' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_end_compress',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '827'
+ },
+ '235162' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_end_decompress',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '844'
+ },
+ '235293' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'parameters',
+ 'type' => '76909'
+ },
+ '1' => {
+ 'name' => 'pEncodingMatrix',
+ 'type' => '11846'
+ },
+ '2' => {
+ 'name' => 'p_dc_shift',
+ 'type' => '19208'
+ },
+ '3' => {
+ 'name' => 'pNbComp',
+ 'type' => '9048'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx',
+ '3' => 'rcx'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_set_MCT',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '864'
+ },
+ '235639' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'p_tile_index',
+ 'type' => '9048'
+ },
+ '2' => {
+ 'name' => 'p_data',
+ 'type' => '9070'
+ },
+ '3' => {
+ 'name' => 'p_data_size',
+ 'type' => '9048'
+ },
+ '4' => {
+ 'name' => 'p_stream',
+ 'type' => '14584'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx',
+ '3' => 'rcx',
+ '4' => 'r8'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_write_tile',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '894'
+ },
+ '235839' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_destroy_codec',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '921'
+ },
+ '235940' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ },
+ '1' => {
+ 'name' => 'info_flag',
+ 'type' => '9037'
+ },
+ '2' => {
+ 'name' => 'output_stream',
+ 'type' => '76915'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_dump_codec',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '939'
+ },
+ '236077' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '76921',
+ 'ShortName' => 'opj_get_cstr_info',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '955'
+ },
+ '236241' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '231915'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '74699',
+ 'ShortName' => 'opj_get_cstr_index',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '983'
+ },
+ '236326' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_cstr_index',
+ 'type' => '236386'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_destroy_cstr_index',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '994'
+ },
+ '236392' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'fname',
+ 'type' => '156'
+ },
+ '1' => {
+ 'name' => 'p_size',
+ 'type' => '9059'
+ },
+ '2' => {
+ 'name' => 'p_is_read_stream',
+ 'type' => '2747'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'r12',
+ '2' => 'rbx'
+ },
+ 'Return' => '14584',
+ 'ShortName' => 'opj_stream_create_file_stream',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '1009'
+ },
+ '236511' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'fname',
+ 'type' => '156'
+ },
+ '1' => {
+ 'name' => 'p_is_read_stream',
+ 'type' => '2747'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '14584',
+ 'ShortName' => 'opj_stream_create_default_file_stream',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '1002'
+ },
+ '3808' => {
+ 'Header' => 'openjpeg.h',
+ 'Return' => '2747',
+ 'ShortName' => 'opj_has_thread_support',
+ 'Source' => 'thread.c',
+ 'SourceLine' => '295'
+ },
+ '3838' => {
+ 'Header' => 'openjpeg.h',
+ 'Return' => '87',
+ 'ShortName' => 'opj_get_num_cpus',
+ 'Source' => 'thread.c',
+ 'SourceLine' => '300'
+ },
+ '61155' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'image',
+ 'type' => '21147'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_image_destroy',
+ 'Source' => 'image.c',
+ 'SourceLine' => '92'
+ },
+ '61333' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'numcmpts',
+ 'type' => '9048'
+ },
+ '1' => {
+ 'name' => 'cmptparms',
+ 'type' => '61683'
+ },
+ '2' => {
+ 'name' => 'clrspc',
+ 'type' => '18497'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '21147',
+ 'ShortName' => 'opj_image_create',
+ 'Source' => 'image.c',
+ 'SourceLine' => '40'
+ },
+ '63325' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'numcmpts',
+ 'type' => '9048'
+ },
+ '1' => {
+ 'name' => 'cmptparms',
+ 'type' => '61683'
+ },
+ '2' => {
+ 'name' => 'clrspc',
+ 'type' => '18497'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '21147',
+ 'ShortName' => 'opj_image_tile_create',
+ 'Source' => 'image.c',
+ 'SourceLine' => '228'
+ },
+ '63604' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '1119',
+ 'Param' => {
+ '0' => {
+ 'name' => 'ptr',
+ 'type' => '130'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_image_data_free',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '1061'
+ },
+ '63668' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '1109',
+ 'Param' => {
+ '0' => {
+ 'name' => 'size',
+ 'type' => '9059'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '130',
+ 'ShortName' => 'opj_image_data_alloc',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '1054'
+ }
+ },
+ '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.3.1' => {
+ '_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_destroy_codec' => 1,
+ 'opj_destroy_cstr_index' => 1,
+ 'opj_destroy_cstr_info' => 1,
+ 'opj_dump_codec' => 1,
+ 'opj_encode' => 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'
+ },
+ '101' => {
+ 'BaseType' => '94',
+ 'Header' => 'types.h',
+ 'Line' => '141',
+ 'Name' => '__off_t',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11122' => {
+ 'BaseType' => '2236',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '115',
+ 'Name' => 'OPJ_FLOAT32',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '11166' => {
+ 'BaseType' => '94',
+ 'Header' => 'stdint.h',
+ 'Line' => '41',
+ 'Name' => 'int64_t',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11188' => {
+ 'BaseType' => '66',
+ 'Header' => 'stdint.h',
+ 'Line' => '56',
+ 'Name' => 'uint64_t',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '112' => {
+ 'BaseType' => '94',
+ 'Header' => 'types.h',
+ 'Line' => '142',
+ 'Name' => '__off64_t',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11221' => {
+ 'BaseType' => '11188',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '128',
+ 'Name' => 'OPJ_UINT64',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11232' => {
+ 'BaseType' => '11166',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '130',
+ 'Name' => 'OPJ_OFF_T',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11254' => {
+ 'BaseType' => '11266',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '313',
+ 'Name' => 'opj_msg_callback',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11266' => {
+ 'Name' => 'void(*)(char const*, void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '156'
+ },
+ '1' => {
+ 'type' => '130'
+ }
+ },
+ 'Return' => '1',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '11288' => {
+ 'BaseType' => '11300',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '597',
+ 'Name' => 'opj_stream_read_fn',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11300' => {
+ 'Name' => 'OPJ_SIZE_T(*)(void*, OPJ_SIZE_T, void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '130'
+ },
+ '1' => {
+ 'type' => '9059'
+ },
+ '2' => {
+ 'type' => '130'
+ }
+ },
+ 'Return' => '9059',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '11331' => {
+ 'BaseType' => '11300',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '603',
+ 'Name' => 'opj_stream_write_fn',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11343' => {
+ 'BaseType' => '11355',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '609',
+ 'Name' => 'opj_stream_skip_fn',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11355' => {
+ 'Name' => 'OPJ_OFF_T(*)(OPJ_OFF_T, void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '11232'
+ },
+ '1' => {
+ 'type' => '130'
+ }
+ },
+ 'Return' => '11232',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '11381' => {
+ 'BaseType' => '11393',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '615',
+ 'Name' => 'opj_stream_seek_fn',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11393' => {
+ 'Name' => 'OPJ_BOOL(*)(OPJ_OFF_T, void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '11232'
+ },
+ '1' => {
+ 'type' => '130'
+ }
+ },
+ 'Return' => '2747',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '11419' => {
+ 'BaseType' => '781',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '621',
+ 'Name' => 'opj_stream_free_user_data_fn',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11448' => {
+ 'BaseType' => '130',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '626',
+ 'Name' => 'opj_stream_t',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11846' => {
+ 'BaseType' => '11122',
+ 'Name' => 'OPJ_FLOAT32*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '11852' => {
+ 'BaseType' => '9048',
+ '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'
+ },
+ '14584' => {
+ 'BaseType' => '11448',
+ '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'
+ },
+ '169520' => {
+ 'BaseType' => '76921',
+ 'Name' => 'opj_codestream_info_v2_t**',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '18236' => {
+ 'BaseType' => '138',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '114',
+ 'Name' => 'OPJ_CHAR',
+ 'Size' => '1',
+ 'Type' => 'Typedef'
+ },
+ '18280' => {
+ 'BaseType' => '52',
+ 'Header' => 'stdint.h',
+ 'Line' => '50',
+ 'Name' => 'uint16_t',
+ 'Size' => '2',
+ 'Type' => 'Typedef'
+ },
+ '18313' => {
+ 'BaseType' => '18280',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '124',
+ 'Name' => 'OPJ_UINT16',
+ 'Size' => '2',
+ 'Type' => 'Typedef'
+ },
+ '18379' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '267',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'OPJ_PROG_UNKNOWN',
+ 'value' => '18446744073709551615'
+ },
+ '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'
+ },
+ '18429' => {
+ 'BaseType' => '18379',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '274',
+ 'Name' => 'OPJ_PROG_ORDER',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '18441' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '279',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'OPJ_CLRSPC_UNKNOWN',
+ 'value' => '18446744073709551615'
+ },
+ '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'
+ },
+ '18497' => {
+ 'BaseType' => '18441',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '287',
+ 'Name' => 'OPJ_COLOR_SPACE',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '18509' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '325',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'resno0',
+ 'offset' => '0',
+ 'type' => '9048'
+ },
+ '1' => {
+ 'name' => 'compno0',
+ 'offset' => '4',
+ 'type' => '9048'
+ },
+ '10' => {
+ 'name' => 'progorder',
+ 'offset' => '40',
+ 'type' => '18989'
+ },
+ '11' => {
+ 'name' => 'tile',
+ 'offset' => '48',
+ 'type' => '9048'
+ },
+ '12' => {
+ 'name' => 'tx0',
+ 'offset' => '52',
+ 'type' => '9037'
+ },
+ '13' => {
+ 'name' => 'tx1',
+ 'offset' => '56',
+ 'type' => '9037'
+ },
+ '14' => {
+ 'name' => 'ty0',
+ 'offset' => '60',
+ 'type' => '9037'
+ },
+ '15' => {
+ 'name' => 'ty1',
+ 'offset' => '64',
+ 'type' => '9037'
+ },
+ '16' => {
+ 'name' => 'layS',
+ 'offset' => '68',
+ 'type' => '9048'
+ },
+ '17' => {
+ 'name' => 'resS',
+ 'offset' => '72',
+ 'type' => '9048'
+ },
+ '18' => {
+ 'name' => 'compS',
+ 'offset' => '76',
+ 'type' => '9048'
+ },
+ '19' => {
+ 'name' => 'prcS',
+ 'offset' => '80',
+ 'type' => '9048'
+ },
+ '2' => {
+ 'name' => 'layno1',
+ 'offset' => '8',
+ 'type' => '9048'
+ },
+ '20' => {
+ 'name' => 'layE',
+ 'offset' => '84',
+ 'type' => '9048'
+ },
+ '21' => {
+ 'name' => 'resE',
+ 'offset' => '88',
+ 'type' => '9048'
+ },
+ '22' => {
+ 'name' => 'compE',
+ 'offset' => '92',
+ 'type' => '9048'
+ },
+ '23' => {
+ 'name' => 'prcE',
+ 'offset' => '96',
+ 'type' => '9048'
+ },
+ '24' => {
+ 'name' => 'txS',
+ 'offset' => '100',
+ 'type' => '9048'
+ },
+ '25' => {
+ 'name' => 'txE',
+ 'offset' => '104',
+ 'type' => '9048'
+ },
+ '26' => {
+ 'name' => 'tyS',
+ 'offset' => '108',
+ 'type' => '9048'
+ },
+ '27' => {
+ 'name' => 'tyE',
+ 'offset' => '112',
+ 'type' => '9048'
+ },
+ '28' => {
+ 'name' => 'dx',
+ 'offset' => '116',
+ 'type' => '9048'
+ },
+ '29' => {
+ 'name' => 'dy',
+ 'offset' => '120',
+ 'type' => '9048'
+ },
+ '3' => {
+ 'name' => 'resno1',
+ 'offset' => '12',
+ 'type' => '9048'
+ },
+ '30' => {
+ 'name' => 'lay_t',
+ 'offset' => '124',
+ 'type' => '9048'
+ },
+ '31' => {
+ 'name' => 'res_t',
+ 'offset' => '128',
+ 'type' => '9048'
+ },
+ '32' => {
+ 'name' => 'comp_t',
+ 'offset' => '132',
+ 'type' => '9048'
+ },
+ '33' => {
+ 'name' => 'prc_t',
+ 'offset' => '136',
+ 'type' => '9048'
+ },
+ '34' => {
+ 'name' => 'tx0_t',
+ 'offset' => '140',
+ 'type' => '9048'
+ },
+ '35' => {
+ 'name' => 'ty0_t',
+ 'offset' => '144',
+ 'type' => '9048'
+ },
+ '4' => {
+ 'name' => 'compno1',
+ 'offset' => '16',
+ 'type' => '9048'
+ },
+ '5' => {
+ 'name' => 'layno0',
+ 'offset' => '20',
+ 'type' => '9048'
+ },
+ '6' => {
+ 'name' => 'precno0',
+ 'offset' => '24',
+ 'type' => '9048'
+ },
+ '7' => {
+ 'name' => 'precno1',
+ 'offset' => '28',
+ 'type' => '9048'
+ },
+ '8' => {
+ 'name' => 'prg1',
+ 'offset' => '32',
+ 'type' => '18429'
+ },
+ '9' => {
+ 'name' => 'prg',
+ 'offset' => '36',
+ 'type' => '18429'
+ }
+ },
+ 'Name' => 'struct opj_poc',
+ 'Size' => '148',
+ 'Type' => 'Struct'
+ },
+ '18989' => {
+ 'BaseType' => '18236',
+ 'Name' => 'OPJ_CHAR[5]',
+ 'Size' => '5',
+ 'Type' => 'Array'
+ },
+ '19005' => {
+ 'BaseType' => '18509',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '348',
+ 'Name' => 'opj_poc_t',
+ 'Size' => '148',
+ 'Type' => 'Typedef'
+ },
+ '19017' => {
+ 'BaseType' => '19005',
+ 'Name' => 'opj_poc_t[32]',
+ 'Size' => '4736',
+ 'Type' => 'Array'
+ },
+ '19033' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '637',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'dx',
+ 'offset' => '0',
+ 'type' => '9048'
+ },
+ '1' => {
+ 'name' => 'dy',
+ 'offset' => '4',
+ 'type' => '9048'
+ },
+ '10' => {
+ 'name' => 'factor',
+ 'offset' => '40',
+ 'type' => '9048'
+ },
+ '11' => {
+ 'name' => 'data',
+ 'offset' => '48',
+ 'type' => '19208'
+ },
+ '12' => {
+ 'name' => 'alpha',
+ 'offset' => '56',
+ 'type' => '18313'
+ },
+ '2' => {
+ 'name' => 'w',
+ 'offset' => '8',
+ 'type' => '9048'
+ },
+ '3' => {
+ 'name' => 'h',
+ 'offset' => '12',
+ 'type' => '9048'
+ },
+ '4' => {
+ 'name' => 'x0',
+ 'offset' => '16',
+ 'type' => '9048'
+ },
+ '5' => {
+ 'name' => 'y0',
+ 'offset' => '20',
+ 'type' => '9048'
+ },
+ '6' => {
+ 'name' => 'prec',
+ 'offset' => '24',
+ 'type' => '9048'
+ },
+ '7' => {
+ 'name' => 'bpp',
+ 'offset' => '28',
+ 'type' => '9048'
+ },
+ '8' => {
+ 'name' => 'sgnd',
+ 'offset' => '32',
+ 'type' => '9048'
+ },
+ '9' => {
+ 'name' => 'resno_decoded',
+ 'offset' => '36',
+ 'type' => '9048'
+ }
+ },
+ 'Name' => 'struct opj_image_comp',
+ 'Size' => '64',
+ 'Type' => 'Struct'
+ },
+ '19208' => {
+ 'BaseType' => '9037',
+ 'Name' => 'OPJ_INT32*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '19214' => {
+ 'BaseType' => '19033',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '664',
+ 'Name' => 'opj_image_comp_t',
+ 'Size' => '64',
+ 'Type' => 'Typedef'
+ },
+ '19226' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '669',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'x0',
+ 'offset' => '0',
+ 'type' => '9048'
+ },
+ '1' => {
+ 'name' => 'y0',
+ 'offset' => '4',
+ 'type' => '9048'
+ },
+ '2' => {
+ 'name' => 'x1',
+ 'offset' => '8',
+ 'type' => '9048'
+ },
+ '3' => {
+ 'name' => 'y1',
+ 'offset' => '12',
+ 'type' => '9048'
+ },
+ '4' => {
+ 'name' => 'numcomps',
+ 'offset' => '16',
+ 'type' => '9048'
+ },
+ '5' => {
+ 'name' => 'color_space',
+ 'offset' => '20',
+ 'type' => '18497'
+ },
+ '6' => {
+ 'name' => 'comps',
+ 'offset' => '24',
+ 'type' => '19353'
+ },
+ '7' => {
+ 'name' => 'icc_profile_buf',
+ 'offset' => '32',
+ 'type' => '9070'
+ },
+ '8' => {
+ 'name' => 'icc_profile_len',
+ 'offset' => '40',
+ 'type' => '9048'
+ }
+ },
+ 'Name' => 'struct opj_image',
+ 'Size' => '48',
+ 'Type' => 'Struct'
+ },
+ '19353' => {
+ 'BaseType' => '19214',
+ 'Name' => 'opj_image_comp_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '19365' => {
+ 'BaseType' => '19226',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '688',
+ 'Name' => 'opj_image_t',
+ 'Size' => '48',
+ 'Type' => 'Typedef'
+ },
+ '19377' => {
+ 'BaseType' => '9048',
+ 'Name' => 'OPJ_UINT32[33]',
+ 'Size' => '132',
+ 'Type' => 'Array'
+ },
+ '21147' => {
+ 'BaseType' => '19365',
+ 'Name' => 'opj_image_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '220837' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '292',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'OPJ_CODEC_UNKNOWN',
+ 'value' => '18446744073709551615'
+ },
+ '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',
+ 'Type' => 'Enum'
+ },
+ '220887' => {
+ 'BaseType' => '220837',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '299',
+ 'Name' => 'OPJ_CODEC_FORMAT',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '222644' => {
+ 'BaseType' => '130',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '578',
+ 'Name' => 'opj_codec_t',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '2236' => {
+ 'Name' => 'float',
+ 'Size' => '4',
+ 'Type' => 'Intrinsic'
+ },
+ '2243' => {
+ 'Name' => 'double',
+ 'Size' => '8',
+ 'Type' => 'Intrinsic'
+ },
+ '2250' => {
+ 'Header' => 'libio.h',
+ 'Line' => '273',
+ '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' => '2697'
+ },
+ '13' => {
+ 'name' => '_chain',
+ 'offset' => '104',
+ 'type' => '2703'
+ },
+ '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' => '2709'
+ },
+ '2' => {
+ 'name' => '_IO_read_end',
+ 'offset' => '16',
+ 'type' => '132'
+ },
+ '20' => {
+ 'name' => '_lock',
+ 'offset' => '136',
+ 'type' => '2725'
+ },
+ '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' => '2731'
+ },
+ '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'
+ },
+ '231915' => {
+ 'BaseType' => '222644',
+ 'Name' => 'opj_codec_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '23247' => {
+ 'BaseType' => '2747',
+ 'Name' => 'OPJ_BOOL*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '23281' => {
+ 'BaseType' => '9048',
+ 'Name' => 'OPJ_UINT32 const',
+ 'Size' => '4',
+ 'Type' => 'Const'
+ },
+ '236386' => {
+ 'BaseType' => '74699',
+ 'Name' => 'opj_codestream_index_t**',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2641' => {
+ 'Header' => 'libio.h',
+ 'Line' => '182',
+ 'Name' => '_IO_lock_t',
+ 'Type' => 'Typedef'
+ },
+ '2648' => {
+ 'Header' => 'libio.h',
+ 'Line' => '188',
+ 'Memb' => {
+ '0' => {
+ 'name' => '_next',
+ 'offset' => '0',
+ 'type' => '2697'
+ },
+ '1' => {
+ 'name' => '_sbuf',
+ 'offset' => '8',
+ 'type' => '2703'
+ },
+ '2' => {
+ 'name' => '_pos',
+ 'offset' => '16',
+ 'type' => '87'
+ }
+ },
+ 'Name' => 'struct _IO_marker',
+ 'PrivateABI' => 1,
+ 'Size' => '24',
+ 'Type' => 'Struct'
+ },
+ '2697' => {
+ 'BaseType' => '2648',
+ 'Name' => 'struct _IO_marker*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2703' => {
+ 'BaseType' => '2250',
+ 'Name' => 'struct _IO_FILE*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2709' => {
+ 'BaseType' => '138',
+ 'Name' => 'char[1]',
+ 'Size' => '1',
+ 'Type' => 'Array'
+ },
+ '2725' => {
+ 'BaseType' => '2641',
+ 'Name' => '_IO_lock_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '2731' => {
+ 'BaseType' => '138',
+ 'Name' => 'char[20]',
+ 'Size' => '20',
+ 'Type' => 'Array'
+ },
+ '2747' => {
+ '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'
+ },
+ '59010' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '694',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'dx',
+ 'offset' => '0',
+ 'type' => '9048'
+ },
+ '1' => {
+ 'name' => 'dy',
+ 'offset' => '4',
+ 'type' => '9048'
+ },
+ '2' => {
+ 'name' => 'w',
+ 'offset' => '8',
+ 'type' => '9048'
+ },
+ '3' => {
+ 'name' => 'h',
+ 'offset' => '12',
+ 'type' => '9048'
+ },
+ '4' => {
+ 'name' => 'x0',
+ 'offset' => '16',
+ 'type' => '9048'
+ },
+ '5' => {
+ 'name' => 'y0',
+ 'offset' => '20',
+ 'type' => '9048'
+ },
+ '6' => {
+ 'name' => 'prec',
+ 'offset' => '24',
+ 'type' => '9048'
+ },
+ '7' => {
+ 'name' => 'bpp',
+ 'offset' => '28',
+ 'type' => '9048'
+ },
+ '8' => {
+ 'name' => 'sgnd',
+ 'offset' => '32',
+ 'type' => '9048'
+ }
+ },
+ 'Name' => 'struct opj_image_comptparm',
+ 'Size' => '36',
+ 'Type' => 'Struct'
+ },
+ '59133' => {
+ 'BaseType' => '59010',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '713',
+ 'Name' => 'opj_image_cmptparm_t',
+ 'Size' => '36',
+ 'Type' => 'Typedef'
+ },
+ '61683' => {
+ 'BaseType' => '59133',
+ 'Name' => 'opj_image_cmptparm_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '66' => {
+ 'Name' => 'unsigned long',
+ 'Size' => '8',
+ 'Type' => 'Intrinsic'
+ },
+ '66843' => {
+ 'BaseType' => '2250',
+ 'Header' => 'stdio.h',
+ 'Line' => '49',
+ 'Name' => 'FILE',
+ 'Size' => '216',
+ 'Type' => 'Typedef'
+ },
+ '67560' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '246',
+ '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'
+ },
+ '67599' => {
+ 'BaseType' => '67560',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '251',
+ 'Name' => 'OPJ_RSIZ_CAPABILITIES',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '67610' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '257',
+ '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'
+ },
+ '67648' => {
+ 'BaseType' => '67610',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '262',
+ 'Name' => 'OPJ_CINEMA_MODE',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '68332' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '353',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'tile_size_on',
+ 'offset' => '0',
+ 'type' => '2747'
+ },
+ '1' => {
+ 'name' => 'cp_tx0',
+ 'offset' => '4',
+ 'type' => '87'
+ },
+ '10' => {
+ 'name' => 'csty',
+ 'offset' => '48',
+ 'type' => '87'
+ },
+ '11' => {
+ 'name' => 'prog_order',
+ 'offset' => '52',
+ 'type' => '18429'
+ },
+ '12' => {
+ 'name' => 'POC',
+ 'offset' => '56',
+ 'type' => '19017'
+ },
+ '13' => {
+ 'name' => 'numpocs',
+ 'offset' => '4792',
+ 'type' => '9048'
+ },
+ '14' => {
+ 'name' => 'tcp_numlayers',
+ 'offset' => '4796',
+ 'type' => '87'
+ },
+ '15' => {
+ 'name' => 'tcp_rates',
+ 'offset' => '4800',
+ 'type' => '69196'
+ },
+ '16' => {
+ 'name' => 'tcp_distoratio',
+ 'offset' => '5200',
+ 'type' => '69196'
+ },
+ '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' => '69212'
+ },
+ '26' => {
+ 'name' => 'prch_init',
+ 'offset' => '5764',
+ 'type' => '69212'
+ },
+ '27' => {
+ 'name' => 'infile',
+ 'offset' => '5896',
+ 'type' => '69228'
+ },
+ '28' => {
+ 'name' => 'outfile',
+ 'offset' => '9992',
+ 'type' => '69228'
+ },
+ '29' => {
+ 'name' => 'index_on',
+ 'offset' => '14088',
+ 'type' => '87'
+ },
+ '3' => {
+ 'name' => 'cp_tdx',
+ 'offset' => '12',
+ 'type' => '87'
+ },
+ '30' => {
+ 'name' => 'index',
+ 'offset' => '14092',
+ 'type' => '69228'
+ },
+ '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' => '2747'
+ },
+ '38' => {
+ 'name' => 'jpwl_hprot_MH',
+ 'offset' => '18216',
+ 'type' => '87'
+ },
+ '39' => {
+ 'name' => 'jpwl_hprot_TPH_tileno',
+ 'offset' => '18220',
+ 'type' => '69245'
+ },
+ '4' => {
+ 'name' => 'cp_tdy',
+ 'offset' => '16',
+ 'type' => '87'
+ },
+ '40' => {
+ 'name' => 'jpwl_hprot_TPH',
+ 'offset' => '18284',
+ 'type' => '69245'
+ },
+ '41' => {
+ 'name' => 'jpwl_pprot_tileno',
+ 'offset' => '18348',
+ 'type' => '69245'
+ },
+ '42' => {
+ 'name' => 'jpwl_pprot_packno',
+ 'offset' => '18412',
+ 'type' => '69245'
+ },
+ '43' => {
+ 'name' => 'jpwl_pprot',
+ 'offset' => '18476',
+ 'type' => '69245'
+ },
+ '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' => '69245'
+ },
+ '49' => {
+ 'name' => 'jpwl_sens_TPH',
+ 'offset' => '18620',
+ 'type' => '69245'
+ },
+ '5' => {
+ 'name' => 'cp_disto_alloc',
+ 'offset' => '20',
+ 'type' => '87'
+ },
+ '50' => {
+ 'name' => 'cp_cinema',
+ 'offset' => '18684',
+ 'type' => '67648'
+ },
+ '51' => {
+ 'name' => 'max_comp_size',
+ 'offset' => '18688',
+ 'type' => '87'
+ },
+ '52' => {
+ 'name' => 'cp_rsiz',
+ 'offset' => '18692',
+ 'type' => '67599'
+ },
+ '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' => '2747'
+ },
+ '57' => {
+ 'name' => 'mct_data',
+ 'offset' => '18704',
+ 'type' => '130'
+ },
+ '58' => {
+ 'name' => 'max_cs_size',
+ 'offset' => '18712',
+ 'type' => '87'
+ },
+ '59' => {
+ 'name' => 'rsiz',
+ 'offset' => '18716',
+ 'type' => '18313'
+ },
+ '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' => '69174'
+ },
+ '9' => {
+ 'name' => 'cp_comment',
+ 'offset' => '40',
+ 'type' => '132'
+ }
+ },
+ 'Name' => 'struct opj_cparameters',
+ 'Size' => '18720',
+ 'Type' => 'Struct'
+ },
+ '69174' => {
+ 'BaseType' => '87',
+ 'Name' => 'int*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '69196' => {
+ 'BaseType' => '2236',
+ 'Name' => 'float[100]',
+ 'Size' => '400',
+ 'Type' => 'Array'
+ },
+ '69212' => {
+ 'BaseType' => '87',
+ 'Name' => 'int[33]',
+ 'Size' => '132',
+ 'Type' => 'Array'
+ },
+ '69228' => {
+ 'BaseType' => '138',
+ 'Name' => 'char[4096]',
+ 'Size' => '4096',
+ 'Type' => 'Array'
+ },
+ '69245' => {
+ 'BaseType' => '87',
+ 'Name' => 'int[16]',
+ 'Size' => '64',
+ 'Type' => 'Array'
+ },
+ '69261' => {
+ 'BaseType' => '68332',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '504',
+ 'Name' => 'opj_cparameters_t',
+ 'Size' => '18720',
+ 'Type' => 'Typedef'
+ },
+ '69273' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '512',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'cp_reduce',
+ 'offset' => '0',
+ 'type' => '9048'
+ },
+ '1' => {
+ 'name' => 'cp_layer',
+ 'offset' => '4',
+ 'type' => '9048'
+ },
+ '10' => {
+ 'name' => 'm_verbose',
+ 'offset' => '8224',
+ 'type' => '2747'
+ },
+ '11' => {
+ 'name' => 'tile_index',
+ 'offset' => '8228',
+ 'type' => '9048'
+ },
+ '12' => {
+ 'name' => 'nb_tile_to_decode',
+ 'offset' => '8232',
+ 'type' => '9048'
+ },
+ '13' => {
+ 'name' => 'jpwl_correct',
+ 'offset' => '8236',
+ 'type' => '2747'
+ },
+ '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' => '69228'
+ },
+ '3' => {
+ 'name' => 'outfile',
+ 'offset' => '4104',
+ 'type' => '69228'
+ },
+ '4' => {
+ 'name' => 'decod_format',
+ 'offset' => '8200',
+ 'type' => '87'
+ },
+ '5' => {
+ 'name' => 'cod_format',
+ 'offset' => '8204',
+ 'type' => '87'
+ },
+ '6' => {
+ 'name' => 'DA_x0',
+ 'offset' => '8208',
+ 'type' => '9048'
+ },
+ '7' => {
+ 'name' => 'DA_x1',
+ 'offset' => '8212',
+ 'type' => '9048'
+ },
+ '8' => {
+ 'name' => 'DA_y0',
+ 'offset' => '8216',
+ 'type' => '9048'
+ },
+ '9' => {
+ 'name' => 'DA_y1',
+ 'offset' => '8220',
+ 'type' => '9048'
+ }
+ },
+ 'Name' => 'struct opj_dparameters',
+ 'Size' => '8252',
+ 'Type' => 'Struct'
+ },
+ '69523' => {
+ 'BaseType' => '69273',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '572',
+ 'Name' => 'opj_dparameters_t',
+ 'Size' => '8252',
+ 'Type' => 'Typedef'
+ },
+ '70039' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '726',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'start_pos',
+ 'offset' => '0',
+ 'type' => '11232'
+ },
+ '1' => {
+ 'name' => 'end_ph_pos',
+ 'offset' => '8',
+ 'type' => '11232'
+ },
+ '2' => {
+ 'name' => 'end_pos',
+ 'offset' => '16',
+ 'type' => '11232'
+ },
+ '3' => {
+ 'name' => 'disto',
+ 'offset' => '24',
+ 'type' => '2243'
+ }
+ },
+ 'Name' => 'struct opj_packet_info',
+ 'Size' => '32',
+ 'Type' => 'Struct'
+ },
+ '70105' => {
+ 'BaseType' => '70039',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '735',
+ 'Name' => 'opj_packet_info_t',
+ 'Size' => '32',
+ 'Type' => 'Typedef'
+ },
+ '70117' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '742',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'type',
+ 'offset' => '0',
+ 'type' => '52'
+ },
+ '1' => {
+ 'name' => 'pos',
+ 'offset' => '8',
+ 'type' => '11232'
+ },
+ '2' => {
+ 'name' => 'len',
+ 'offset' => '16',
+ 'type' => '87'
+ }
+ },
+ 'Name' => 'struct opj_marker_info',
+ 'Size' => '24',
+ 'Type' => 'Struct'
+ },
+ '70170' => {
+ 'BaseType' => '70117',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '749',
+ 'Name' => 'opj_marker_info_t',
+ 'Size' => '24',
+ 'Type' => 'Typedef'
+ },
+ '70522' => {
+ 'BaseType' => '70105',
+ 'Name' => 'opj_packet_info_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '70528' => {
+ 'BaseType' => '70170',
+ 'Name' => 'opj_marker_info_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '70868' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '866',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'compno',
+ 'offset' => '0',
+ 'type' => '9048'
+ },
+ '1' => {
+ 'name' => 'csty',
+ 'offset' => '4',
+ 'type' => '9048'
+ },
+ '10' => {
+ 'name' => 'numgbits',
+ 'offset' => '808',
+ 'type' => '9048'
+ },
+ '11' => {
+ 'name' => 'roishift',
+ 'offset' => '812',
+ 'type' => '9037'
+ },
+ '12' => {
+ 'name' => 'prcw',
+ 'offset' => '816',
+ 'type' => '19377'
+ },
+ '13' => {
+ 'name' => 'prch',
+ 'offset' => '948',
+ 'type' => '19377'
+ },
+ '2' => {
+ 'name' => 'numresolutions',
+ 'offset' => '8',
+ 'type' => '9048'
+ },
+ '3' => {
+ 'name' => 'cblkw',
+ 'offset' => '12',
+ 'type' => '9048'
+ },
+ '4' => {
+ 'name' => 'cblkh',
+ 'offset' => '16',
+ 'type' => '9048'
+ },
+ '5' => {
+ 'name' => 'cblksty',
+ 'offset' => '20',
+ 'type' => '9048'
+ },
+ '6' => {
+ 'name' => 'qmfbid',
+ 'offset' => '24',
+ 'type' => '9048'
+ },
+ '7' => {
+ 'name' => 'qntsty',
+ 'offset' => '28',
+ 'type' => '9048'
+ },
+ '8' => {
+ 'name' => 'stepsizes_mant',
+ 'offset' => '32',
+ 'type' => '71070'
+ },
+ '9' => {
+ 'name' => 'stepsizes_expn',
+ 'offset' => '420',
+ 'type' => '71070'
+ }
+ },
+ 'Name' => 'struct opj_tccp_info',
+ 'Size' => '1080',
+ 'Type' => 'Struct'
+ },
+ '71070' => {
+ 'BaseType' => '9048',
+ 'Name' => 'OPJ_UINT32[97]',
+ 'Size' => '388',
+ 'Type' => 'Array'
+ },
+ '71102' => {
+ 'BaseType' => '70868',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '896',
+ 'Name' => 'opj_tccp_info_t',
+ 'Size' => '1080',
+ 'Type' => 'Typedef'
+ },
+ '71114' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '901',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'tileno',
+ 'offset' => '0',
+ 'type' => '87'
+ },
+ '1' => {
+ 'name' => 'csty',
+ 'offset' => '4',
+ 'type' => '9048'
+ },
+ '2' => {
+ 'name' => 'prg',
+ 'offset' => '8',
+ 'type' => '18429'
+ },
+ '3' => {
+ 'name' => 'numlayers',
+ 'offset' => '12',
+ 'type' => '9048'
+ },
+ '4' => {
+ 'name' => 'mct',
+ 'offset' => '16',
+ 'type' => '9048'
+ },
+ '5' => {
+ 'name' => 'tccp_info',
+ 'offset' => '24',
+ 'type' => '71206'
+ }
+ },
+ 'Name' => 'struct opj_tile_v2_info',
+ 'Size' => '32',
+ 'Type' => 'Struct'
+ },
+ '71206' => {
+ 'BaseType' => '71102',
+ 'Name' => 'opj_tccp_info_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '71212' => {
+ 'BaseType' => '71114',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '917',
+ 'Name' => 'opj_tile_info_v2_t',
+ 'Size' => '32',
+ 'Type' => 'Typedef'
+ },
+ '71224' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '922',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'tx0',
+ 'offset' => '0',
+ 'type' => '9048'
+ },
+ '1' => {
+ 'name' => 'ty0',
+ 'offset' => '4',
+ 'type' => '9048'
+ },
+ '2' => {
+ 'name' => 'tdx',
+ 'offset' => '8',
+ 'type' => '9048'
+ },
+ '3' => {
+ 'name' => 'tdy',
+ 'offset' => '12',
+ 'type' => '9048'
+ },
+ '4' => {
+ 'name' => 'tw',
+ 'offset' => '16',
+ 'type' => '9048'
+ },
+ '5' => {
+ 'name' => 'th',
+ 'offset' => '20',
+ 'type' => '9048'
+ },
+ '6' => {
+ 'name' => 'nbcomps',
+ 'offset' => '24',
+ 'type' => '9048'
+ },
+ '7' => {
+ 'name' => 'm_default_tile_info',
+ 'offset' => '32',
+ 'type' => '71212'
+ },
+ '8' => {
+ 'name' => 'tile_info',
+ 'offset' => '64',
+ 'type' => '71353'
+ }
+ },
+ 'Name' => 'struct opj_codestream_info_v2',
+ 'Size' => '72',
+ 'Type' => 'Struct'
+ },
+ '71353' => {
+ 'BaseType' => '71212',
+ 'Name' => 'opj_tile_info_v2_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '71359' => {
+ 'BaseType' => '71224',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '946',
+ 'Name' => 'opj_codestream_info_v2_t',
+ 'Size' => '72',
+ 'Type' => 'Typedef'
+ },
+ '71371' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '952',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'start_pos',
+ 'offset' => '0',
+ 'type' => '11232'
+ },
+ '1' => {
+ 'name' => 'end_header',
+ 'offset' => '8',
+ 'type' => '11232'
+ },
+ '2' => {
+ 'name' => 'end_pos',
+ 'offset' => '16',
+ 'type' => '11232'
+ }
+ },
+ 'Name' => 'struct opj_tp_index',
+ 'Size' => '24',
+ 'Type' => 'Struct'
+ },
+ '71424' => {
+ 'BaseType' => '71371',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '960',
+ 'Name' => 'opj_tp_index_t',
+ 'Size' => '24',
+ 'Type' => 'Typedef'
+ },
+ '71436' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '965',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'tileno',
+ 'offset' => '0',
+ 'type' => '9048'
+ },
+ '1' => {
+ 'name' => 'nb_tps',
+ 'offset' => '4',
+ 'type' => '9048'
+ },
+ '2' => {
+ 'name' => 'current_nb_tps',
+ 'offset' => '8',
+ 'type' => '9048'
+ },
+ '3' => {
+ 'name' => 'current_tpsno',
+ 'offset' => '12',
+ 'type' => '9048'
+ },
+ '4' => {
+ 'name' => 'tp_index',
+ 'offset' => '16',
+ 'type' => '71580'
+ },
+ '5' => {
+ 'name' => 'marknum',
+ 'offset' => '24',
+ 'type' => '9048'
+ },
+ '6' => {
+ 'name' => 'marker',
+ 'offset' => '32',
+ 'type' => '70528'
+ },
+ '7' => {
+ 'name' => 'maxmarknum',
+ 'offset' => '40',
+ 'type' => '9048'
+ },
+ '8' => {
+ 'name' => 'nb_packet',
+ 'offset' => '44',
+ 'type' => '9048'
+ },
+ '9' => {
+ 'name' => 'packet_index',
+ 'offset' => '48',
+ 'type' => '70522'
+ }
+ },
+ 'Name' => 'struct opj_tile_index',
+ 'Size' => '56',
+ 'Type' => 'Struct'
+ },
+ '71580' => {
+ 'BaseType' => '71424',
+ 'Name' => 'opj_tp_index_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '71586' => {
+ 'BaseType' => '71436',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '992',
+ 'Name' => 'opj_tile_index_t',
+ 'Size' => '56',
+ 'Type' => 'Typedef'
+ },
+ '71598' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '997',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'main_head_start',
+ 'offset' => '0',
+ 'type' => '11232'
+ },
+ '1' => {
+ 'name' => 'main_head_end',
+ 'offset' => '8',
+ 'type' => '11232'
+ },
+ '2' => {
+ 'name' => 'codestream_size',
+ 'offset' => '16',
+ 'type' => '11221'
+ },
+ '3' => {
+ 'name' => 'marknum',
+ 'offset' => '24',
+ 'type' => '9048'
+ },
+ '4' => {
+ 'name' => 'marker',
+ 'offset' => '32',
+ 'type' => '70528'
+ },
+ '5' => {
+ 'name' => 'maxmarknum',
+ 'offset' => '40',
+ 'type' => '9048'
+ },
+ '6' => {
+ 'name' => 'nb_of_tiles',
+ 'offset' => '44',
+ 'type' => '9048'
+ },
+ '7' => {
+ 'name' => 'tile_index',
+ 'offset' => '48',
+ 'type' => '71716'
+ }
+ },
+ 'Name' => 'struct opj_codestream_index',
+ 'Size' => '56',
+ 'Type' => 'Struct'
+ },
+ '71716' => {
+ 'BaseType' => '71586',
+ 'Name' => 'opj_tile_index_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '71722' => {
+ 'BaseType' => '71598',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '1020',
+ 'Name' => 'opj_codestream_index_t',
+ 'Size' => '56',
+ 'Type' => 'Typedef'
+ },
+ '73' => {
+ 'Name' => 'signed char',
+ 'Size' => '1',
+ 'Type' => 'Intrinsic'
+ },
+ '74699' => {
+ 'BaseType' => '71722',
+ 'Name' => 'opj_codestream_index_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '76880' => {
+ 'BaseType' => '21147',
+ 'Name' => 'opj_image_t**',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '76886' => {
+ 'BaseType' => '69523',
+ 'Name' => 'opj_dparameters_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '76898' => {
+ 'BaseType' => '23281',
+ 'Name' => 'OPJ_UINT32 const*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '76909' => {
+ 'BaseType' => '69261',
+ 'Name' => 'opj_cparameters_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '76915' => {
+ 'BaseType' => '66843',
+ 'Name' => 'FILE*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '76921' => {
+ 'BaseType' => '71359',
+ 'Name' => 'opj_codestream_info_v2_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '781' => {
+ 'Name' => 'void(*)(void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '130'
+ }
+ },
+ 'Return' => '1',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '87' => {
+ 'Name' => 'int',
+ 'Size' => '4',
+ 'Type' => 'Intrinsic'
+ },
+ '9004' => {
+ 'BaseType' => '45',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '117',
+ 'Name' => 'OPJ_BYTE',
+ 'Size' => '1',
+ 'Type' => 'Typedef'
+ },
+ '9015' => {
+ 'BaseType' => '87',
+ 'Header' => 'stdint.h',
+ 'Line' => '39',
+ 'Name' => 'int32_t',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '9026' => {
+ 'BaseType' => '59',
+ 'Header' => 'stdint.h',
+ 'Line' => '52',
+ 'Name' => 'uint32_t',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '9037' => {
+ 'BaseType' => '9015',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '125',
+ 'Name' => 'OPJ_INT32',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '9048' => {
+ 'BaseType' => '9026',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '126',
+ 'Name' => 'OPJ_UINT32',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '9059' => {
+ 'BaseType' => '145',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '133',
+ 'Name' => 'OPJ_SIZE_T',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '9070' => {
+ 'BaseType' => '9004',
+ 'Name' => 'OPJ_BYTE*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '94' => {
+ 'Name' => 'long',
+ 'Size' => '8',
+ 'Type' => 'Intrinsic'
+ }
+ },
+ 'UndefinedSymbols' => {
+ 'libopenjp2.so.2.3.1' => {
+ '_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,
+ '__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,
+ '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,
+ '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,
+ 'malloc@GLIBC_2.2.5' => 0,
+ 'memcpy@GLIBC_2.14' => 0,
+ 'memset@GLIBC_2.2.5' => 0,
+ 'posix_memalign@GLIBC_2.2.5' => 0,
+ 'pow@GLIBC_2.2.5' => 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.3.1",
+ "Lang": "C",
+ "TotalSymbols": "49",
+ "PublicABI": "1",
+ "Version": "1.7"
+}
\ No newline at end of file
<br/>
<h1>Changelog from Git</h1><br/><br/>
<div class='changelog'>
-<pre class='wrap'>commit d1d422c126cbc2a5435340bd85f4b52ff0477101
+<pre class='wrap'>commit 291e45bb045e63334729ad9a894595f8e1e2b2c7
+Author: Antonin Descampe <antonin@gmail.com>
+Date: 2019-04-02 15:12:59 +0200
+
+ Update version number for automatic abi check
+
+commit 57096325457f96d8cd07bd3af04fe81d7a2ba788
+Author: Antonin Descampe <antonin@gmail.com>
+Date: 2019-04-02 14:45:15 +0200
+
+ update token for appveyor auto release
+
+commit 8b9a89bc2e61652d30bbc56673f8f03ef464430f
+Author: Antonin Descampe <antonin@gmail.com>
+Date: 2019-04-02 14:25:09 +0200
+
+ update token for automatic release
+
+commit d1d422c126cbc2a5435340bd85f4b52ff0477101
Author: Antonin Descampe <antonin@gmail.com>
Date: 2019-04-02 12:08:52 +0200
Unix build: fix regression of 2.3.0 where a shared-only or static-only build lacks the installation target for the library (#1019, fixes regression introduced by 3dfc6ca2bcf06fd1adb6b6b4cecc6c092f08ba0b)
-commit e8b6b54d1f7a2c3d501b9afebe9019ad14f4053a
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-10-06 19:25:07 +0200
-
- opj_decompress -h: document -threads ALL_CPUS
-
-commit acd915080e7a63d1892171533ec245e629c88116
-Author: Antonin Descampe <antonin@gmail.com>
-Date: 2017-10-04 23:17:04 -0300
-
- Finalise ABI check update for v2.3.0
-
-commit d322cc876f976a88328c00c148e5a5536f5c1b56
-Author: Antonin Descampe <antonin@gmail.com>
-Date: 2017-10-04 22:59:08 -0300
-
- Update ABI check for v2.3.0
-
...</pre></div>
</body>
--- /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.3.0 and 2.3.1 versions on x86_64" />
+<title>libopenjp2: 2.3.0 to 2.3.1 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.3.0</span> and <span style='color:Red;'>2.3.1</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.3.0</td></tr>
+<tr><th>Version #2</th><td>2.3.1</td></tr>
+<tr><th>CPU Type</th><td>x86_64</td></tr>
+<tr><th>GCC Version</th><td>4.8.1</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>49 / 112</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='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.3.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.3.0",
+ "Object2": "lib/libopenjp2.so.2.3.1"
+}
\ 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.3.1 and current versions on x86_64" />
+<title>libopenjp2: 2.3.1 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.3.1</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.3.1</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>4.8.1</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>49 / 112</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='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.3.1<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.3.1",
+ "Object2": "lib/libopenjp2.so.2.3.1"
+}
\ 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="openjpeg, binary compatibility, API, report" />
+<meta name="description" content="Binary compatibility report for the openjpeg object between 2.3.0 and 2.3.1 versions on x86_64" />
+<title>openjpeg: 2.3.0 to 2.3.1 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.3.0</span> and <span style='color:Red;'>2.3.1</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>openjpeg</td></tr>
+<tr><th>Version #1</th><td>2.3.0</td></tr>
+<tr><th>Version #2</th><td>2.3.1</td></tr>
+<tr><th>CPU Type</th><td>x86_64</td></tr>
+<tr><th>GCC Version</th><td>4.8.1</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>49 / 112</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='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.3.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
+<!-- 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="openjpeg, source compatibility, API, report" />
+<meta name="description" content="Source compatibility report for the openjpeg object between 2.3.0 and 2.3.1 versions" />
+<title>openjpeg: 2.3.0 to 2.3.1 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.3.0</span> and <span style='color:Red;'>2.3.1</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.3.0</td></tr>
+<tr><th>Version #2</th><td>2.3.1</td></tr>
+<tr><th>CPU Type</th><td>x86_64</td></tr>
+<tr><th>GCC Version</th><td>4.8.1</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>49 / 112</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='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.3.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
+<!-- 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="openjpeg, binary compatibility, API, report" />
+<meta name="description" content="Binary compatibility report for the openjpeg object between 2.3.1 and current versions on x86_64" />
+<title>openjpeg: 2.3.1 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.3.1</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>openjpeg</td></tr>
+<tr><th>Version #1</th><td>2.3.1</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>4.8.1</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>49 / 112</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='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.3.1<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
+<!-- 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="openjpeg, source compatibility, API, report" />
+<meta name="description" content="Source compatibility report for the openjpeg object between 2.3.1 and current versions" />
+<title>openjpeg: 2.3.1 to current 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.3.1</span> and <span style='color:Red;'>current</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.3.1</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>4.8.1</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>49 / 112</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='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.3.1<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.1.1' => 'Off',
'2.1.2' => 'Off',
'2.2.0' => 'Off',
- '2.3.0' => 'Off'
+ '2.3.0' => 'Off',
+ '2.3.1' => 'Off'
},
'Installed' => {
'1.1' => 'installed/openjpeg/1.1',
'2.1.2' => 'installed/openjpeg/2.1.2',
'2.2.0' => 'installed/openjpeg/2.2.0',
'2.3.0' => 'installed/openjpeg/2.3.0',
+ '2.3.1' => 'installed/openjpeg/2.3.1',
'current' => 'installed/openjpeg/current'
},
'Source' => {
'Version' => '1.7'
}
},
+ '2.3.1' => {
+ 'ef225' => {
+ 'Lang' => 'C',
+ 'Object' => 'lib/libopenjp2.so.2.3.1',
+ 'Path' => 'abi_dump/openjpeg/2.3.1/ef225/ABI.dump',
+ 'TotalSymbols' => '49',
+ 'TotalSymbolsFiltered' => '49',
+ 'Version' => '1.7'
+ }
+ },
'current' => {
'ef225' => {
'Lang' => 'C',
}
},
'2.3.0' => {
+ '2.3.1' => {
+ 'Added' => 0,
+ 'BC' => 100,
+ 'ChangedSoname' => 0,
+ 'ObjectsAdded' => 0,
+ 'ObjectsAddedSymbols' => 0,
+ 'ObjectsRemoved' => 0,
+ 'ObjectsRemovedSymbols' => 0,
+ 'Path' => 'objects_report/openjpeg/2.3.0/2.3.1/report.html',
+ 'Removed' => 0,
+ 'TotalObjects' => 1,
+ 'TotalProblems' => 0
+ },
'current' => {
'Added' => 0,
'BC' => 100,
'TotalObjects' => 1,
'TotalProblems' => 0
}
+ },
+ '2.3.1' => {
+ 'current' => {
+ 'Added' => 0,
+ 'BC' => 100,
+ 'ChangedSoname' => 0,
+ 'ObjectsAdded' => 0,
+ 'ObjectsAddedSymbols' => 0,
+ 'ObjectsRemoved' => 0,
+ 'ObjectsRemovedSymbols' => 0,
+ 'Path' => 'objects_report/openjpeg/2.3.1/current/report.html',
+ 'Removed' => 0,
+ 'TotalObjects' => 1,
+ 'TotalProblems' => 0
+ }
}
},
'ABIReport_D' => {
}
},
'2.3.0' => {
+ '2.3.1' => {
+ '1b967' => {
+ 'Added' => 0,
+ 'Affected' => 0,
+ 'Object1' => 'lib/libopenjp2.so.2.3.0',
+ 'Object2' => 'lib/libopenjp2.so.2.3.1',
+ 'Path' => 'compat_report/openjpeg/2.3.0/2.3.1/1b967/abi_compat_report.html',
+ 'Removed' => 0,
+ 'TotalProblems' => 0
+ }
+ },
'current' => {
'1b967' => {
'Added' => 0,
'TotalProblems' => 0
}
}
+ },
+ '2.3.1' => {
+ 'current' => {
+ 'daa7f' => {
+ 'Added' => 0,
+ 'Affected' => 0,
+ 'Object1' => 'lib/libopenjp2.so.2.3.1',
+ 'Object2' => 'lib/libopenjp2.so.2.3.1',
+ 'Path' => 'compat_report/openjpeg/2.3.1/current/daa7f/abi_compat_report.html',
+ 'Removed' => 0,
+ 'TotalProblems' => 0
+ }
+ }
}
},
'ABIView' => {},
'2.1.2' => '2016-09-28 18:18',
'2.2.0' => '2017-08-10 00:31',
'2.3.0' => '2017-10-04 22:23',
- 'current' => '2019-04-02 12:08:52'
+ '2.3.1' => '2019-04-02 10:08',
+ 'current' => '2019-04-02 15:12:59'
},
'HeadersDiff' => {
'1.1' => {
}
},
'2.3.0' => {
+ '2.3.1' => {
+ 'Path' => 'headers_diff/openjpeg/2.3.0/2.3.1/diff.html',
+ 'Total' => 2
+ },
'current' => {
'Path' => 'headers_diff/openjpeg/2.3.0/current/diff.html',
'Total' => 2
}
+ },
+ '2.3.1' => {
+ 'current' => {
+ 'Path' => 'headers_diff/openjpeg/2.3.1/current/diff.html',
+ 'Total' => 0
+ }
}
},
'Maintainer' => 'OpenJPEG team',
'MaintainerUrl' => 'http://www.openjpeg.org/',
'PackageDiff' => {},
- 'ScmUpdateTime' => '1554201026',
+ 'ScmUpdateTime' => '1554211780',
'Soname' => {
'1.1' => {
'lib/libopenjpeg.so' => 'libopenjpeg.so'
'2.3.0' => {
'lib/libopenjp2.so.2.3.0' => 'libopenjp2.so.7'
},
+ '2.3.1' => {
+ 'lib/libopenjp2.so.2.3.1' => 'libopenjp2.so.7'
+ },
'current' => {
'lib/libopenjp2.so.2.3.1' => 'libopenjp2.so.7'
}
'2.1.2' => '7',
'2.2.0' => '7',
'2.3.0' => '7',
+ '2.3.1' => '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.3.0 and 2.3.1 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.3.0 and 2.3.1 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.3.0</span> vs <span class='version'>2.3.1</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.3.0) </th><th> </th><th> openjpeg.h (2.3.1) </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 549<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-1"><em> line 549<span class="hide"> ¶</span></em></a></th><td></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 DA_x0;</td><td> </td><td class="right"> OPJ_UINT32 DA_x0;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** Decoding area right boundary */</td><td> </td><td class="right"> /** Decoding area right boundary */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 DA_x1;</td><td> </td><td class="right"> OPJ_UINT32 DA_x1;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** Decoding area up boundary */</td><td> </td><td class="right"> /** Decoding area up boundary */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 DA_y0;</td><td> </td><td class="right"> OPJ_UINT32 DA_y0;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** Decoding area bottom boundary */</td><td> </td><td class="right"> /** Decoding area bottom boundary */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 DA_y1;</td><td> </td><td class="right"> OPJ_UINT32 DA_y1;</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /** Verbose mode */</td><td> </td><td class="right"> /** Verbose mode */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_BOOL m_verbose;</td><td> </td><td class="right"> OPJ_BOOL m_verbose;</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"> /** tile number o<span class="delete">t the decoded tile</span>*/</td><td> </td><td class="rblock"> /** tile number o<span class="insert">f the decoded tile </span>*/</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"> /** Nb of tile to decode */</td><td> </td><td class="right"> /** Nb of tile to decode */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 nb_tile_to_decode;</td><td> </td><td class="right"> OPJ_UINT32 nb_tile_to_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"> /*@}*/</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"> /* UniPG>> */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */</td><td> </td><td class="right"> /* UniPG>> */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> /**@name JPWL decoding parameters */</td><td> </td><td class="right"> /**@name JPWL decoding 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"> /** activates the JPWL correction capabilities */</td><td> </td><td class="right"> /** activates the JPWL correction capabilities */</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 1172<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-2"><em> line 1172<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">/**</td><td> </td><td class="right">/**</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * Sets the given function to be used as a skip function.</td><td> </td><td class="right"> * Sets the given function to be used as a skip function.</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_stream the stream to modify</td><td> </td><td class="right"> * @param p_stream the stream to modify</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_function the function to use a skip function.</td><td> </td><td class="right"> * @param p_function the function to use a skip function.</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 void OPJ_CALLCONV opj_stream_set_skip_function(opj_stream_t* p_stre
+am,</td><td> </td><td class="right">OPJ_API void OPJ_CALLCONV opj_stream_set_skip_function(opj_stream_t* p_stre
+am,</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> opj_stream_skip_fn p_function);</td><td> </td><td class="right"> opj_stream_skip_fn p_function);</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="diff0002"><td></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"> * Sets the given function to be used as a seek function, the stream is the</td><td> </td><td class="rblock"> * Sets the given function to be used as a seek function, the stream is the</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock">n <span class="delete">seekable.</span></td><td> </td><td class="rblock">n <span class="insert">seekable,</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * using SEEK_SET behavior.</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_stream the stream to modify</td><td> </td><td class="right"> * @param p_stream the stream to modify</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_function the function to use a skip function.</td><td> </td><td class="right"> * @param p_function the function to use a skip function.</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 void OPJ_CALLCONV opj_stream_set_seek_function(opj_stream_t* p_stre
+am,</td><td> </td><td class="right">OPJ_API void OPJ_CALLCONV opj_stream_set_seek_function(opj_stream_t* p_stre
+am,</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> opj_stream_seek_fn p_function);</td><td> </td><td class="right"> opj_stream_seek_fn p_function);</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"> * Sets the given data to be used as a user data for the stream.</td><td> </td><td class="right"> * Sets the given data to be used as a user data for the stream.</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_stream the stream to modify</td><td> </td><td class="right"> * @param p_stream the stream to modify</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_data the data to set.</td><td> </td><td class="right"> * @param p_data the data to 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 id="part-3" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-3"><em> line 1306<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-3"><em> line 1307<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">/**</td><td> </td><td class="right">/**</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 id="diff0003"><td></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">* Currently this function must be called after opj_setup_decoder() and</span></td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * before opj_read_header().</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"> * Note: currently only has effect on the decompressor.</td><td> </td><td class="right"> * Note: currently only has effect on the 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"> * @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 num_threads number of threads.</td><td> </td><td class="right"> * @param num_threads number of threads.</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 if the decoder is correctly set</td><td> </td><td class="right"> * @return OPJ_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_codec_set_threads(opj_codec_t *p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_codec_set_threads(opj_codec_t *p_codec,</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> int num_threads);</td><td> </td><td class="right"> int num_threads);</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-4" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-4"><em> line 1373<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-4"><em> line 1377<span class="hide"> ¶</span></em></a></th><td></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * that is to say at the highest resolution level, even if requesting the i
+mage at lower</td><td> </td><td class="right"> * that is to say at the highest resolution level, even if requesting the i
+mage at lower</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * resolution levels.</td><td> </td><td class="right"> * resolution levels.</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"> * Generally opj_set_decode_area() should be followed by opj_decode(), and
+the</td><td> </td><td class="right"> * Generally opj_set_decode_area() should be followed by opj_decode(), and
+the</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * codec cannot be re-used.</td><td> </td><td class="right"> * codec cannot be re-used.</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * In the particular case of an image made of a single tile, several sequen
+ces of</td><td> </td><td class="right"> * In the particular case of an image made of a single tile, several sequen
+ces of</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * calls to opoj_set_decode_area() and opj_decode() are allowed, and will b
+ring</td><td> </td><td class="right"> * calls to opoj_set_decode_area() and opj_decode() are allowed, and will b
+ring</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * performance improvements when reading an image by chunks.</td><td> </td><td class="right"> * performance improvements when reading an image by chunks.</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="diff0004"><td></td></tr>
+ <tr><td class="lineno"></td><td class="lblock"> * @param p_image the decoded image previously set<span class="delete">ted by opj_read
+_he</span>ader</td><td> </td><td class="rblock"> * @param p_image the decoded image previously set<span class="insert"> by opj_read_he
+</span>ader</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_start_x the left position of the rectangle to decode (i
+n image coordinates).</td><td> </td><td class="right"> * @param p_start_x the left position of the rectangle to decode (i
+n image coordinates).</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_end_x the right position of the rectangle to decode (
+in image coordinates).</td><td> </td><td class="right"> * @param p_end_x the right position of the rectangle to decode (
+in image coordinates).</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_start_y the up position of the rectangle to decode (in
+image coordinates).</td><td> </td><td class="right"> * @param p_start_y the up position of the rectangle to decode (in
+image coordinates).</td><td class="lineno"></td></tr>
+ <tr><td class="lineno"></td><td class="left"> * @param p_end_y the bottom position of the rectangle to decode
+(in image coordinates).</td><td> </td><td class="right"> * @param p_end_y the bottom position of the rectangle to decode
+(in image coordinates).</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 area could be set.</td><td> </td><td class="right"> * @return true if the area could be 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_set_decode_area(opj_codec_t *p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_decode_area(opj_codec_t *p_codec,</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_INT32 p_start_x, OPJ_INT32 p_start_y,</td><td> </td><td class="right"> OPJ_INT32 p_start_x, OPJ_INT32 p_start_y,</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. 4 change blocks. </th></tr>
+ <tr class="stats"><td></td><th><i>4 lines changed or deleted</i></th><th><i> </i></th><th><i>8 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.3.0) </th><th> </th><th> opj_config.h (2.3.1) </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><td class="lineno"></td><td class="left">#define OPJ_VERSION_MINOR 3</td><td> </td><td class="right">#define OPJ_VERSION_MINOR 3</td><td class="lineno"></td></tr>
+ <tr id="diff0001"><td></td></tr>
+ <tr><td class="lineno"></td><td class="lblock">#define OPJ_VERSION_BUILD <span class="delete">0</span></td><td> </td><td class="rblock">#define OPJ_VERSION_BUILD <span class="insert">1</span></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>0 lines changed or deleted</i></th><th><i> </i></th><th><i>0 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.3.1 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.3.1 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.3.1</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(OPJ_STATIC) || !defined(_WIN32)
+/* http://gcc.gnu.org/wiki/Visibility */
+# if __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 0x0401 /** 4K Single Tile Lossy IMF profile defined in 15444-1 AMD 8 */
+#define OPJ_PROFILE_IMF_8K 0x0402 /** 8K Single Tile Lossy IMF profile defined in 15444-1 AMD 8 */
+#define OPJ_PROFILE_IMF_2K_R 0x0403 /** 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 0x0801 /** 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)
+
+/**
+ * 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
+==========================================================
+*/
+
+/**
+ * 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 */
+ OPJ_UINT32 tile;
+ /** Start and end values for Tile width and height*/
+ OPJ_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 handeld 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 */
+ 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 */
+ OPJ_UINT32 prec;
+ /** image depth in bits */
+ OPJ_UINT32 bpp;
+ /** 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 */
+ OPJ_UINT32 prec;
+ /** image depth in bits */
+ OPJ_UINT32 bpp;
+ /** 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);
+
+/**
+ * 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.
+ *
+ * Currently this function must be called after opj_setup_decoder() and
+ * before opj_read_header().
+ *
+ * Note: currently only has effect on the decompressor.
+ *
+ * @param p_codec decompressor handler
+ * @param num_threads number of threads.
+ *
+ * @return OPJ_TRUE if the decoder is correctly set
+ */
+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 streamm
+ * @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);
+
+/**
+ * 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 3
+#define OPJ_VERSION_BUILD 1
--- /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.3.1
\ 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 "3")
+set(OPENJPEG_BUILD_VERSION "1")
+
+# The libraries.
+set(OPENJPEG_LIBRARIES "openjp2")
+
+# The CMake macros dir.
+set(OPENJPEG_CMAKE_DIR "lib/openjpeg-2.3")
+
+# 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/travis/abi-check/work/abi-check/installed/openjpeg/2.3.1/lib/openjpeg-2.3")
+ set(INC_DIR "/home/travis/abi-check/work/abi-check/installed/openjpeg/2.3.1/include/openjpeg-2.3")
+ file(RELATIVE_PATH PKG_TO_INC_RPATH "${PKG_DIR}" "${INC_DIR}")
+
+ get_filename_component(OPENJPEG_INCLUDE_DIRS "${SELF_DIR}/${PKG_TO_INC_RPATH}" ABSOLUTE)
+
+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)
+
+# 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)
+
+# 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.3.1"
+ 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.3.1" )
+
+# 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" )
+
+# 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)
+
+# Cleanup temporary variables.
+SET(_IMPORT_PREFIX)
+
+# Commands beyond this point should not need to know the version.
+SET(CMAKE_IMPORT_FILE_VERSION)
--- /dev/null
+# Generated by CMake 2.8.7
+
+IF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
+ MESSAGE(FATAL_ERROR "CMake >= 2.6.0 required")
+ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
+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)
+
+# Create imported target openjp2
+ADD_LIBRARY(openjp2 SHARED IMPORTED)
+
+# Create imported target openjp2_static
+ADD_LIBRARY(openjp2_static STATIC IMPORTED)
+
+# 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(f)
+
+# Commands beyond this point should not need to know the version.
+SET(CMAKE_IMPORT_FILE_VERSION)
+CMAKE_POLICY(POP)
--- /dev/null
+prefix=/home/travis/abi-check/work/abi-check/installed/openjpeg/2.3.1
+bindir=${prefix}/bin
+mandir=${prefix}/
+docdir=${prefix}/
+libdir=${prefix}/lib
+includedir=${prefix}/include/openjpeg-2.3
+
+Name: openjp2
+Description: JPEG2000 library (Part 1 and 2)
+URL: http://www.openjpeg.org/
+Version: 2.3.1
+Libs: -L${libdir} -lopenjp2
+Libs.private: -lm
+Cflags: -I${includedir}
--- /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.3.0 and 2.3.1 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.3.0 and 2.3.1 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.3.0</span> vs <span class='version'>2.3.1</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.3.0</td>
+<td class='ok'><a href='../../../../compat_report/openjpeg/2.3.0/2.3.1/1b967/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>
--- /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.3.1 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.3.1 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.3.1</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.3.1</td>
+<td class='ok'><a href='../../../../compat_report/openjpeg/2.3.1/current/daa7f/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>
"Number": "2.3.1",
"Installed": "installed/openjpeg/2.3.1",
"Source": "src/openjpeg/2.3.1/version.-2.3.1.tar.gz",
- "Changelog": "CHANGELOG.md",
+ "Changelog": "Off",
"HeadersDiff": "On",
"PkgDiff": "Off",
"ABIView": "Off",
- "ABIDiff": "Off",
- "PublicSymbols": "public_symbols/openjpeg/2.3.1/list",
- "PublicTypes": "public_types/openjpeg/2.3.1/list"
+ "ABIDiff": "Off"
},
{
"Number": "2.3.0",
<th>Headers<br/>Diff</th>
</tr>
<tr id='current'><td>current</td>
-<td>2019-04-02<br/>12:08</td>
+<td>2019-04-02<br/>15:12</td>
<td>7</td>
<td><a href='../../changelog/openjpeg/current/log.html'>changelog</a></td>
-<td class='ok'><a href='../../objects_report/openjpeg/2.3.0/current/report.html'>100%</a></td>
+<td class='ok'><a href='../../objects_report/openjpeg/2.3.1/current/report.html'>100%</a></td>
<td class='ok'>0</td>
<td class='ok'>0</td>
-<td><a href='../../headers_diff/openjpeg/2.3.0/current/diff.html'>2</a></td>
+<td>0</td>
+</tr>
+<tr id='v2.3.1'><td>2.3.1</td>
+<td>2019-04-02</td>
+<td>7</td>
+<td>N/A</td>
+<td class='ok'><a href='../../objects_report/openjpeg/2.3.0/2.3.1/report.html'>100%</a></td>
+<td class='ok'>0</td>
+<td class='ok'>0</td>
+<td><a href='../../headers_diff/openjpeg/2.3.0/2.3.1/diff.html'>2</a></td>
</tr>
<tr id='v2.3.0'><td>2.3.0</td>
<td>2017-10-04</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 Tue Apr 2 10:30:49 2019.<br/>
+</table><br/>Maintained by <a href='http://www.openjpeg.org/'>OpenJPEG team</a>. Last updated on Tue Apr 2 13:30:27 2019.<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>