--- /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.2.0',
+ 'LibraryVersion' => '2.2.0',
+ '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' => {
+ '14399' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_buffer_size',
+ 'type' => '9026'
+ },
+ '1' => {
+ 'name' => 'l_is_input',
+ 'type' => '701'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '14551',
+ 'ShortName' => 'opj_stream_create',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '158'
+ },
+ '14557' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'l_is_input',
+ 'type' => '701'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '14551',
+ 'ShortName' => 'opj_stream_default_create',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '194'
+ },
+ '14634' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_destroy',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '199'
+ },
+ '14727' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ },
+ '1' => {
+ 'name' => 'p_function',
+ 'type' => '11255'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_read_function',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '213'
+ },
+ '14796' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ },
+ '1' => {
+ 'name' => 'p_function',
+ 'type' => '11348'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_seek_function',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '225'
+ },
+ '14865' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ },
+ '1' => {
+ 'name' => 'p_function',
+ 'type' => '11298'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_write_function',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '236'
+ },
+ '14934' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ },
+ '1' => {
+ 'name' => 'p_function',
+ 'type' => '11310'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_skip_function',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '248'
+ },
+ '15003' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ },
+ '1' => {
+ 'name' => 'p_data',
+ 'type' => '141'
+ },
+ '2' => {
+ 'name' => 'p_function',
+ 'type' => '11386'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_user_data',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '260'
+ },
+ '15090' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ },
+ '1' => {
+ 'name' => 'data_length',
+ 'type' => '11188'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_stream_set_user_data_length',
+ 'Source' => 'cio.c',
+ 'SourceLine' => '271'
+ },
+ '152235' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '1059',
+ 'Return' => '177',
+ 'ShortName' => 'opj_version',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '160'
+ },
+ '152538' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '1537',
+ 'Param' => {
+ '0' => {
+ 'name' => 'cstr_info',
+ 'type' => '152556'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_destroy_cstr_info',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '924'
+ },
+ '214126' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'p_callback',
+ 'type' => '11221'
+ },
+ '2' => {
+ 'name' => 'p_user_data',
+ 'type' => '141'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_set_info_handler',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '44'
+ },
+ '214224' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'p_callback',
+ 'type' => '11221'
+ },
+ '2' => {
+ 'name' => 'p_user_data',
+ 'type' => '141'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_set_warning_handler',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '59'
+ },
+ '214310' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'p_callback',
+ 'type' => '11221'
+ },
+ '2' => {
+ 'name' => 'p_user_data',
+ 'type' => '141'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_set_error_handler',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '74'
+ },
+ '214425' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_format',
+ 'type' => '203491'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '214212',
+ 'ShortName' => 'opj_create_decompress',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '168'
+ },
+ '214647' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'parameters',
+ 'type' => '60916'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_set_default_decoder_parameters',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '352'
+ },
+ '214778' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'num_threads',
+ 'type' => '98'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_codec_set_threads',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '375'
+ },
+ '214896' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'parameters',
+ 'type' => '60916'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_setup_decoder',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '386'
+ },
+ '215038' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ },
+ '1' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '2' => {
+ 'name' => 'p_image',
+ 'type' => '60904'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_read_header',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '406'
+ },
+ '215241' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ },
+ '2' => {
+ 'name' => 'p_image',
+ 'type' => '45024'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_decode',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '429'
+ },
+ '215395' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'p_image',
+ 'type' => '45024'
+ },
+ '2' => {
+ 'name' => 'p_start_x',
+ 'type' => '9004'
+ },
+ '3' => {
+ 'name' => 'p_start_y',
+ 'type' => '9004'
+ },
+ '4' => {
+ 'name' => 'p_end_x',
+ 'type' => '9004'
+ },
+ '5' => {
+ 'name' => 'p_end_y',
+ 'type' => '9004'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx',
+ '3' => 'rcx',
+ '4' => 'r8',
+ '5' => 'r9'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_set_decode_area',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '450'
+ },
+ '215603' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ },
+ '2' => {
+ 'name' => 'p_tile_index',
+ 'type' => '11819'
+ },
+ '3' => {
+ 'name' => 'p_data_size',
+ 'type' => '11819'
+ },
+ '4' => {
+ 'name' => 'p_tile_x0',
+ 'type' => '18280'
+ },
+ '5' => {
+ 'name' => 'p_tile_y0',
+ 'type' => '18280'
+ },
+ '6' => {
+ 'name' => 'p_tile_x1',
+ 'offset' => '0',
+ 'type' => '18280'
+ },
+ '7' => {
+ 'name' => 'p_tile_y1',
+ 'type' => '18280'
+ },
+ '8' => {
+ 'name' => 'p_nb_comps',
+ 'type' => '11819'
+ },
+ '9' => {
+ 'name' => 'p_should_go_on',
+ 'type' => '60910'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rbp',
+ '3' => 'rbx',
+ '4' => 'rcx',
+ '5' => 'r8',
+ '7' => 'rdx',
+ '8' => 'rdx',
+ '9' => 'rdx'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_read_tile_header',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '473'
+ },
+ '215821' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'p_tile_index',
+ 'type' => '9015'
+ },
+ '2' => {
+ 'name' => 'p_data',
+ 'type' => '9037'
+ },
+ '3' => {
+ 'name' => 'p_data_size',
+ 'type' => '9015'
+ },
+ '4' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx',
+ '3' => 'rcx',
+ '4' => 'r8'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_decode_tile_data',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '504'
+ },
+ '216021' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ },
+ '2' => {
+ 'name' => 'p_image',
+ 'type' => '45024'
+ },
+ '3' => {
+ 'name' => 'tile_index',
+ 'type' => '9015'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx',
+ '3' => 'rcx'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_get_decoded_tile',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '530'
+ },
+ '216198' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'res_factor',
+ 'type' => '9015'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_set_decoded_resolution_factor',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '554'
+ },
+ '216307' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_format',
+ 'type' => '203491'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '214212',
+ 'ShortName' => 'opj_create_compress',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '572'
+ },
+ '216532' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'parameters',
+ 'type' => '60928'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_set_default_encoder_parameters',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '670'
+ },
+ '216663' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'parameters',
+ 'type' => '60928'
+ },
+ '2' => {
+ 'name' => 'p_image',
+ 'type' => '45024'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_setup_encoder',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '731'
+ },
+ '216801' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'p_image',
+ 'type' => '45024'
+ },
+ '2' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_start_compress',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '749'
+ },
+ '216955' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_info',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_encode',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '768'
+ },
+ '217086' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_end_compress',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '785'
+ },
+ '217217' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_end_decompress',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '802'
+ },
+ '217348' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'parameters',
+ 'type' => '60928'
+ },
+ '1' => {
+ 'name' => 'pEncodingMatrix',
+ 'type' => '11813'
+ },
+ '2' => {
+ 'name' => 'p_dc_shift',
+ 'type' => '18280'
+ },
+ '3' => {
+ 'name' => 'pNbComp',
+ 'type' => '9015'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx',
+ '3' => 'rcx'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_set_MCT',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '822'
+ },
+ '217694' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'p_tile_index',
+ 'type' => '9015'
+ },
+ '2' => {
+ 'name' => 'p_data',
+ 'type' => '9037'
+ },
+ '3' => {
+ 'name' => 'p_data_size',
+ 'type' => '9015'
+ },
+ '4' => {
+ 'name' => 'p_stream',
+ 'type' => '14551'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx',
+ '3' => 'rcx',
+ '4' => 'r8'
+ },
+ 'Return' => '701',
+ 'ShortName' => 'opj_write_tile',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '852'
+ },
+ '217894' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_destroy_codec',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '879'
+ },
+ '217995' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ },
+ '1' => {
+ 'name' => 'info_flag',
+ 'type' => '9004'
+ },
+ '2' => {
+ 'name' => 'output_stream',
+ 'type' => '60934'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_dump_codec',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '897'
+ },
+ '218132' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '60940',
+ 'ShortName' => 'opj_get_cstr_info',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '913'
+ },
+ '218296' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '214212'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '58944',
+ 'ShortName' => 'opj_get_cstr_index',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '941'
+ },
+ '218381' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_cstr_index',
+ 'type' => '218441'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_destroy_cstr_index',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '952'
+ },
+ '218447' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'fname',
+ 'type' => '177'
+ },
+ '1' => {
+ 'name' => 'p_size',
+ 'type' => '9026'
+ },
+ '2' => {
+ 'name' => 'p_is_read_stream',
+ 'type' => '701'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'r12',
+ '2' => 'rbx'
+ },
+ 'Return' => '14551',
+ 'ShortName' => 'opj_stream_create_file_stream',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '967'
+ },
+ '218566' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'fname',
+ 'type' => '177'
+ },
+ '1' => {
+ 'name' => 'p_is_read_stream',
+ 'type' => '701'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi'
+ },
+ 'Return' => '14551',
+ 'ShortName' => 'opj_stream_create_default_file_stream',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '960'
+ },
+ '3808' => {
+ 'Header' => 'openjpeg.h',
+ 'Return' => '701',
+ 'ShortName' => 'opj_has_thread_support',
+ 'Source' => 'thread.c',
+ 'SourceLine' => '292'
+ },
+ '3838' => {
+ 'Header' => 'openjpeg.h',
+ 'Return' => '98',
+ 'ShortName' => 'opj_get_num_cpus',
+ 'Source' => 'thread.c',
+ 'SourceLine' => '297'
+ },
+ '45353' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'image',
+ 'type' => '45024'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_image_destroy',
+ 'Source' => 'image.c',
+ 'SourceLine' => '92'
+ },
+ '45531' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'numcmpts',
+ 'type' => '9015'
+ },
+ '1' => {
+ 'name' => 'cmptparms',
+ 'type' => '45882'
+ },
+ '2' => {
+ 'name' => 'clrspc',
+ 'type' => '42329'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '45024',
+ 'ShortName' => 'opj_image_create',
+ 'Source' => 'image.c',
+ 'SourceLine' => '40'
+ },
+ '47604' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'numcmpts',
+ 'type' => '9015'
+ },
+ '1' => {
+ 'name' => 'cmptparms',
+ 'type' => '45882'
+ },
+ '2' => {
+ 'name' => 'clrspc',
+ 'type' => '42329'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx'
+ },
+ 'Return' => '45024',
+ 'ShortName' => 'opj_image_tile_create',
+ 'Source' => 'image.c',
+ 'SourceLine' => '228'
+ },
+ '47883' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '1116',
+ 'Param' => {
+ '0' => {
+ 'name' => 'ptr',
+ 'type' => '141'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '1',
+ 'ShortName' => 'opj_image_data_free',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '1019'
+ },
+ '47947' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '1106',
+ 'Param' => {
+ '0' => {
+ 'name' => 'size',
+ 'type' => '9026'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi'
+ },
+ 'Return' => '141',
+ 'ShortName' => 'opj_image_data_alloc',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '1012'
+ }
+ },
+ '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.2.0' => {
+ '_fini' => 1,
+ '_init' => 1,
+ 'opj_codec_set_threads' => 1,
+ 'opj_create_compress' => 1,
+ 'opj_create_decompress' => 1,
+ 'opj_decode' => 1,
+ 'opj_decode_tile_data' => 1,
+ 'opj_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_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'
+ },
+ '105' => {
+ 'Name' => 'long',
+ 'Size' => '8',
+ 'Type' => 'Intrinsic'
+ },
+ '11089' => {
+ 'BaseType' => '163',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '115',
+ 'Name' => 'OPJ_FLOAT32',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '11133' => {
+ 'BaseType' => '105',
+ 'Header' => 'stdint.h',
+ 'Line' => '41',
+ 'Name' => 'int64_t',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11155' => {
+ 'BaseType' => '56',
+ 'Header' => 'stdint.h',
+ 'Line' => '56',
+ 'Name' => 'uint64_t',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11188' => {
+ 'BaseType' => '11155',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '128',
+ 'Name' => 'OPJ_UINT64',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11199' => {
+ 'BaseType' => '11133',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '130',
+ 'Name' => 'OPJ_OFF_T',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '112' => {
+ 'BaseType' => '105',
+ 'Header' => 'types.h',
+ 'Line' => '141',
+ 'Name' => '__off_t',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11221' => {
+ 'BaseType' => '11233',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '313',
+ 'Name' => 'opj_msg_callback',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11233' => {
+ 'Name' => 'void(*)(char const*, void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '177'
+ },
+ '1' => {
+ 'type' => '141'
+ }
+ },
+ 'Return' => '1',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '11255' => {
+ 'BaseType' => '11267',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '594',
+ 'Name' => 'opj_stream_read_fn',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11267' => {
+ 'Name' => 'OPJ_SIZE_T(*)(void*, OPJ_SIZE_T, void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '141'
+ },
+ '1' => {
+ 'type' => '9026'
+ },
+ '2' => {
+ 'type' => '141'
+ }
+ },
+ 'Return' => '9026',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '11298' => {
+ 'BaseType' => '11267',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '600',
+ 'Name' => 'opj_stream_write_fn',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11310' => {
+ 'BaseType' => '11322',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '606',
+ 'Name' => 'opj_stream_skip_fn',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11322' => {
+ 'Name' => 'OPJ_OFF_T(*)(OPJ_OFF_T, void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '11199'
+ },
+ '1' => {
+ 'type' => '141'
+ }
+ },
+ 'Return' => '11199',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '11348' => {
+ 'BaseType' => '11360',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '612',
+ 'Name' => 'opj_stream_seek_fn',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11360' => {
+ 'Name' => 'OPJ_BOOL(*)(OPJ_OFF_T, void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '11199'
+ },
+ '1' => {
+ 'type' => '141'
+ }
+ },
+ 'Return' => '701',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '11386' => {
+ 'BaseType' => '712',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '618',
+ 'Name' => 'opj_stream_free_user_data_fn',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11415' => {
+ 'BaseType' => '141',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '623',
+ 'Name' => 'opj_stream_t',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '11813' => {
+ 'BaseType' => '11089',
+ 'Name' => 'OPJ_FLOAT32*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '11819' => {
+ 'BaseType' => '9015',
+ 'Name' => 'OPJ_UINT32*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '123' => {
+ 'BaseType' => '105',
+ 'Header' => 'types.h',
+ 'Line' => '142',
+ 'Name' => '__off64_t',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '141' => {
+ 'BaseType' => '1',
+ 'Name' => 'void*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '143' => {
+ 'BaseType' => '149',
+ 'Name' => 'char*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '14551' => {
+ 'BaseType' => '11415',
+ 'Name' => 'opj_stream_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '149' => {
+ 'Name' => 'char',
+ 'Size' => '1',
+ 'Type' => 'Intrinsic'
+ },
+ '152556' => {
+ 'BaseType' => '60940',
+ 'Name' => 'opj_codestream_info_v2_t**',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '163' => {
+ 'Name' => 'float',
+ 'Size' => '4',
+ 'Type' => 'Intrinsic'
+ },
+ '170' => {
+ 'Name' => 'double',
+ 'Size' => '8',
+ 'Type' => 'Intrinsic'
+ },
+ '177' => {
+ 'BaseType' => '183',
+ 'Name' => 'char const*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '18280' => {
+ 'BaseType' => '9004',
+ 'Name' => 'OPJ_INT32*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '18292' => {
+ 'BaseType' => '9015',
+ 'Name' => 'OPJ_UINT32[33]',
+ 'Size' => '132',
+ 'Type' => 'Array'
+ },
+ '183' => {
+ 'BaseType' => '149',
+ 'Name' => 'char const',
+ 'Size' => '1',
+ 'Type' => 'Const'
+ },
+ '188' => {
+ 'Header' => 'libio.h',
+ 'Line' => '273',
+ 'Memb' => {
+ '0' => {
+ 'name' => '_flags',
+ 'offset' => '0',
+ 'type' => '98'
+ },
+ '1' => {
+ 'name' => '_IO_read_ptr',
+ 'offset' => '8',
+ 'type' => '143'
+ },
+ '10' => {
+ 'name' => '_IO_backup_base',
+ 'offset' => '80',
+ 'type' => '143'
+ },
+ '11' => {
+ 'name' => '_IO_save_end',
+ 'offset' => '88',
+ 'type' => '143'
+ },
+ '12' => {
+ 'name' => '_markers',
+ 'offset' => '96',
+ 'type' => '651'
+ },
+ '13' => {
+ 'name' => '_chain',
+ 'offset' => '104',
+ 'type' => '657'
+ },
+ '14' => {
+ 'name' => '_fileno',
+ 'offset' => '112',
+ 'type' => '98'
+ },
+ '15' => {
+ 'name' => '_flags2',
+ 'offset' => '116',
+ 'type' => '98'
+ },
+ '16' => {
+ 'name' => '_old_offset',
+ 'offset' => '120',
+ 'type' => '112'
+ },
+ '17' => {
+ 'name' => '_cur_column',
+ 'offset' => '128',
+ 'type' => '70'
+ },
+ '18' => {
+ 'name' => '_vtable_offset',
+ 'offset' => '130',
+ 'type' => '84'
+ },
+ '19' => {
+ 'name' => '_shortbuf',
+ 'offset' => '131',
+ 'type' => '663'
+ },
+ '2' => {
+ 'name' => '_IO_read_end',
+ 'offset' => '16',
+ 'type' => '143'
+ },
+ '20' => {
+ 'name' => '_lock',
+ 'offset' => '136',
+ 'type' => '679'
+ },
+ '21' => {
+ 'name' => '_offset',
+ 'offset' => '144',
+ 'type' => '123'
+ },
+ '22' => {
+ 'name' => '__pad1',
+ 'offset' => '152',
+ 'type' => '141'
+ },
+ '23' => {
+ 'name' => '__pad2',
+ 'offset' => '160',
+ 'type' => '141'
+ },
+ '24' => {
+ 'name' => '__pad3',
+ 'offset' => '168',
+ 'type' => '141'
+ },
+ '25' => {
+ 'name' => '__pad4',
+ 'offset' => '176',
+ 'type' => '141'
+ },
+ '26' => {
+ 'name' => '__pad5',
+ 'offset' => '184',
+ 'type' => '45'
+ },
+ '27' => {
+ 'name' => '_mode',
+ 'offset' => '192',
+ 'type' => '98'
+ },
+ '28' => {
+ 'name' => '_unused2',
+ 'offset' => '196',
+ 'type' => '685'
+ },
+ '3' => {
+ 'name' => '_IO_read_base',
+ 'offset' => '24',
+ 'type' => '143'
+ },
+ '4' => {
+ 'name' => '_IO_write_base',
+ 'offset' => '32',
+ 'type' => '143'
+ },
+ '5' => {
+ 'name' => '_IO_write_ptr',
+ 'offset' => '40',
+ 'type' => '143'
+ },
+ '6' => {
+ 'name' => '_IO_write_end',
+ 'offset' => '48',
+ 'type' => '143'
+ },
+ '7' => {
+ 'name' => '_IO_buf_base',
+ 'offset' => '56',
+ 'type' => '143'
+ },
+ '8' => {
+ 'name' => '_IO_buf_end',
+ 'offset' => '64',
+ 'type' => '143'
+ },
+ '9' => {
+ 'name' => '_IO_save_base',
+ 'offset' => '72',
+ 'type' => '143'
+ }
+ },
+ 'Name' => 'struct _IO_FILE',
+ 'PrivateABI' => 1,
+ 'Size' => '216',
+ 'Type' => 'Struct'
+ },
+ '203441' => {
+ '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'
+ },
+ '203491' => {
+ 'BaseType' => '203441',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '299',
+ 'Name' => 'OPJ_CODEC_FORMAT',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '205248' => {
+ 'BaseType' => '141',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '575',
+ 'Name' => 'opj_codec_t',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '214212' => {
+ 'BaseType' => '205248',
+ 'Name' => 'opj_codec_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '218441' => {
+ 'BaseType' => '58944',
+ 'Name' => 'opj_codestream_index_t**',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '42068' => {
+ 'BaseType' => '149',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '114',
+ 'Name' => 'OPJ_CHAR',
+ 'Size' => '1',
+ 'Type' => 'Typedef'
+ },
+ '42123' => {
+ 'BaseType' => '70',
+ 'Header' => 'stdint.h',
+ 'Line' => '50',
+ 'Name' => 'uint16_t',
+ 'Size' => '2',
+ 'Type' => 'Typedef'
+ },
+ '42156' => {
+ 'BaseType' => '42123',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '124',
+ 'Name' => 'OPJ_UINT16',
+ 'Size' => '2',
+ 'Type' => 'Typedef'
+ },
+ '42211' => {
+ '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'
+ },
+ '42261' => {
+ 'BaseType' => '42211',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '274',
+ 'Name' => 'OPJ_PROG_ORDER',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '42273' => {
+ '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'
+ },
+ '42329' => {
+ 'BaseType' => '42273',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '287',
+ 'Name' => 'OPJ_COLOR_SPACE',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '42341' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '325',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'resno0',
+ 'offset' => '0',
+ 'type' => '9015'
+ },
+ '1' => {
+ 'name' => 'compno0',
+ 'offset' => '4',
+ 'type' => '9015'
+ },
+ '10' => {
+ 'name' => 'progorder',
+ 'offset' => '40',
+ 'type' => '42821'
+ },
+ '11' => {
+ 'name' => 'tile',
+ 'offset' => '48',
+ 'type' => '9015'
+ },
+ '12' => {
+ 'name' => 'tx0',
+ 'offset' => '52',
+ 'type' => '9004'
+ },
+ '13' => {
+ 'name' => 'tx1',
+ 'offset' => '56',
+ 'type' => '9004'
+ },
+ '14' => {
+ 'name' => 'ty0',
+ 'offset' => '60',
+ 'type' => '9004'
+ },
+ '15' => {
+ 'name' => 'ty1',
+ 'offset' => '64',
+ 'type' => '9004'
+ },
+ '16' => {
+ 'name' => 'layS',
+ 'offset' => '68',
+ 'type' => '9015'
+ },
+ '17' => {
+ 'name' => 'resS',
+ 'offset' => '72',
+ 'type' => '9015'
+ },
+ '18' => {
+ 'name' => 'compS',
+ 'offset' => '76',
+ 'type' => '9015'
+ },
+ '19' => {
+ 'name' => 'prcS',
+ 'offset' => '80',
+ 'type' => '9015'
+ },
+ '2' => {
+ 'name' => 'layno1',
+ 'offset' => '8',
+ 'type' => '9015'
+ },
+ '20' => {
+ 'name' => 'layE',
+ 'offset' => '84',
+ 'type' => '9015'
+ },
+ '21' => {
+ 'name' => 'resE',
+ 'offset' => '88',
+ 'type' => '9015'
+ },
+ '22' => {
+ 'name' => 'compE',
+ 'offset' => '92',
+ 'type' => '9015'
+ },
+ '23' => {
+ 'name' => 'prcE',
+ 'offset' => '96',
+ 'type' => '9015'
+ },
+ '24' => {
+ 'name' => 'txS',
+ 'offset' => '100',
+ 'type' => '9015'
+ },
+ '25' => {
+ 'name' => 'txE',
+ 'offset' => '104',
+ 'type' => '9015'
+ },
+ '26' => {
+ 'name' => 'tyS',
+ 'offset' => '108',
+ 'type' => '9015'
+ },
+ '27' => {
+ 'name' => 'tyE',
+ 'offset' => '112',
+ 'type' => '9015'
+ },
+ '28' => {
+ 'name' => 'dx',
+ 'offset' => '116',
+ 'type' => '9015'
+ },
+ '29' => {
+ 'name' => 'dy',
+ 'offset' => '120',
+ 'type' => '9015'
+ },
+ '3' => {
+ 'name' => 'resno1',
+ 'offset' => '12',
+ 'type' => '9015'
+ },
+ '30' => {
+ 'name' => 'lay_t',
+ 'offset' => '124',
+ 'type' => '9015'
+ },
+ '31' => {
+ 'name' => 'res_t',
+ 'offset' => '128',
+ 'type' => '9015'
+ },
+ '32' => {
+ 'name' => 'comp_t',
+ 'offset' => '132',
+ 'type' => '9015'
+ },
+ '33' => {
+ 'name' => 'prc_t',
+ 'offset' => '136',
+ 'type' => '9015'
+ },
+ '34' => {
+ 'name' => 'tx0_t',
+ 'offset' => '140',
+ 'type' => '9015'
+ },
+ '35' => {
+ 'name' => 'ty0_t',
+ 'offset' => '144',
+ 'type' => '9015'
+ },
+ '4' => {
+ 'name' => 'compno1',
+ 'offset' => '16',
+ 'type' => '9015'
+ },
+ '5' => {
+ 'name' => 'layno0',
+ 'offset' => '20',
+ 'type' => '9015'
+ },
+ '6' => {
+ 'name' => 'precno0',
+ 'offset' => '24',
+ 'type' => '9015'
+ },
+ '7' => {
+ 'name' => 'precno1',
+ 'offset' => '28',
+ 'type' => '9015'
+ },
+ '8' => {
+ 'name' => 'prg1',
+ 'offset' => '32',
+ 'type' => '42261'
+ },
+ '9' => {
+ 'name' => 'prg',
+ 'offset' => '36',
+ 'type' => '42261'
+ }
+ },
+ 'Name' => 'struct opj_poc',
+ 'Size' => '148',
+ 'Type' => 'Struct'
+ },
+ '42821' => {
+ 'BaseType' => '42068',
+ 'Name' => 'OPJ_CHAR[5]',
+ 'Size' => '5',
+ 'Type' => 'Array'
+ },
+ '42837' => {
+ 'BaseType' => '42341',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '348',
+ 'Name' => 'opj_poc_t',
+ 'Size' => '148',
+ 'Type' => 'Typedef'
+ },
+ '42849' => {
+ 'BaseType' => '42837',
+ 'Name' => 'opj_poc_t[32]',
+ 'Size' => '4736',
+ 'Type' => 'Array'
+ },
+ '42865' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '634',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'dx',
+ 'offset' => '0',
+ 'type' => '9015'
+ },
+ '1' => {
+ 'name' => 'dy',
+ 'offset' => '4',
+ 'type' => '9015'
+ },
+ '10' => {
+ 'name' => 'factor',
+ 'offset' => '40',
+ 'type' => '9015'
+ },
+ '11' => {
+ 'name' => 'data',
+ 'offset' => '48',
+ 'type' => '18280'
+ },
+ '12' => {
+ 'name' => 'alpha',
+ 'offset' => '56',
+ 'type' => '42156'
+ },
+ '2' => {
+ 'name' => 'w',
+ 'offset' => '8',
+ 'type' => '9015'
+ },
+ '3' => {
+ 'name' => 'h',
+ 'offset' => '12',
+ 'type' => '9015'
+ },
+ '4' => {
+ 'name' => 'x0',
+ 'offset' => '16',
+ 'type' => '9015'
+ },
+ '5' => {
+ 'name' => 'y0',
+ 'offset' => '20',
+ 'type' => '9015'
+ },
+ '6' => {
+ 'name' => 'prec',
+ 'offset' => '24',
+ 'type' => '9015'
+ },
+ '7' => {
+ 'name' => 'bpp',
+ 'offset' => '28',
+ 'type' => '9015'
+ },
+ '8' => {
+ 'name' => 'sgnd',
+ 'offset' => '32',
+ 'type' => '9015'
+ },
+ '9' => {
+ 'name' => 'resno_decoded',
+ 'offset' => '36',
+ 'type' => '9015'
+ }
+ },
+ 'Name' => 'struct opj_image_comp',
+ 'Size' => '64',
+ 'Type' => 'Struct'
+ },
+ '43046' => {
+ 'BaseType' => '42865',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '661',
+ 'Name' => 'opj_image_comp_t',
+ 'Size' => '64',
+ 'Type' => 'Typedef'
+ },
+ '43058' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '666',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'x0',
+ 'offset' => '0',
+ 'type' => '9015'
+ },
+ '1' => {
+ 'name' => 'y0',
+ 'offset' => '4',
+ 'type' => '9015'
+ },
+ '2' => {
+ 'name' => 'x1',
+ 'offset' => '8',
+ 'type' => '9015'
+ },
+ '3' => {
+ 'name' => 'y1',
+ 'offset' => '12',
+ 'type' => '9015'
+ },
+ '4' => {
+ 'name' => 'numcomps',
+ 'offset' => '16',
+ 'type' => '9015'
+ },
+ '5' => {
+ 'name' => 'color_space',
+ 'offset' => '20',
+ 'type' => '42329'
+ },
+ '6' => {
+ 'name' => 'comps',
+ 'offset' => '24',
+ 'type' => '43185'
+ },
+ '7' => {
+ 'name' => 'icc_profile_buf',
+ 'offset' => '32',
+ 'type' => '9037'
+ },
+ '8' => {
+ 'name' => 'icc_profile_len',
+ 'offset' => '40',
+ 'type' => '9015'
+ }
+ },
+ 'Name' => 'struct opj_image',
+ 'Size' => '48',
+ 'Type' => 'Struct'
+ },
+ '43185' => {
+ 'BaseType' => '43046',
+ 'Name' => 'opj_image_comp_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '43197' => {
+ 'BaseType' => '43058',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '685',
+ 'Name' => 'opj_image_t',
+ 'Size' => '48',
+ 'Type' => 'Typedef'
+ },
+ '43209' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '691',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'dx',
+ 'offset' => '0',
+ 'type' => '9015'
+ },
+ '1' => {
+ 'name' => 'dy',
+ 'offset' => '4',
+ 'type' => '9015'
+ },
+ '2' => {
+ 'name' => 'w',
+ 'offset' => '8',
+ 'type' => '9015'
+ },
+ '3' => {
+ 'name' => 'h',
+ 'offset' => '12',
+ 'type' => '9015'
+ },
+ '4' => {
+ 'name' => 'x0',
+ 'offset' => '16',
+ 'type' => '9015'
+ },
+ '5' => {
+ 'name' => 'y0',
+ 'offset' => '20',
+ 'type' => '9015'
+ },
+ '6' => {
+ 'name' => 'prec',
+ 'offset' => '24',
+ 'type' => '9015'
+ },
+ '7' => {
+ 'name' => 'bpp',
+ 'offset' => '28',
+ 'type' => '9015'
+ },
+ '8' => {
+ 'name' => 'sgnd',
+ 'offset' => '32',
+ 'type' => '9015'
+ }
+ },
+ 'Name' => 'struct opj_image_comptparm',
+ 'Size' => '36',
+ 'Type' => 'Struct'
+ },
+ '43332' => {
+ 'BaseType' => '43209',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '710',
+ 'Name' => 'opj_image_cmptparm_t',
+ 'Size' => '36',
+ 'Type' => 'Typedef'
+ },
+ '45' => {
+ 'BaseType' => '56',
+ 'Header' => 'stddef.h',
+ 'Line' => '212',
+ 'Name' => 'size_t',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '45024' => {
+ 'BaseType' => '43197',
+ 'Name' => 'opj_image_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '45882' => {
+ 'BaseType' => '43332',
+ 'Name' => 'opj_image_cmptparm_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '51122' => {
+ 'BaseType' => '188',
+ 'Header' => 'stdio.h',
+ 'Line' => '49',
+ 'Name' => 'FILE',
+ 'Size' => '216',
+ 'Type' => 'Typedef'
+ },
+ '51839' => {
+ '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'
+ },
+ '51878' => {
+ 'BaseType' => '51839',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '251',
+ 'Name' => 'OPJ_RSIZ_CAPABILITIES',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '51889' => {
+ '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'
+ },
+ '51927' => {
+ 'BaseType' => '51889',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '262',
+ 'Name' => 'OPJ_CINEMA_MODE',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '52611' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '353',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'tile_size_on',
+ 'offset' => '0',
+ 'type' => '701'
+ },
+ '1' => {
+ 'name' => 'cp_tx0',
+ 'offset' => '4',
+ 'type' => '98'
+ },
+ '10' => {
+ 'name' => 'csty',
+ 'offset' => '48',
+ 'type' => '98'
+ },
+ '11' => {
+ 'name' => 'prog_order',
+ 'offset' => '52',
+ 'type' => '42261'
+ },
+ '12' => {
+ 'name' => 'POC',
+ 'offset' => '56',
+ 'type' => '42849'
+ },
+ '13' => {
+ 'name' => 'numpocs',
+ 'offset' => '4792',
+ 'type' => '9015'
+ },
+ '14' => {
+ 'name' => 'tcp_numlayers',
+ 'offset' => '4796',
+ 'type' => '98'
+ },
+ '15' => {
+ 'name' => 'tcp_rates',
+ 'offset' => '4800',
+ 'type' => '53475'
+ },
+ '16' => {
+ 'name' => 'tcp_distoratio',
+ 'offset' => '5200',
+ 'type' => '53475'
+ },
+ '17' => {
+ 'name' => 'numresolution',
+ 'offset' => '5600',
+ 'type' => '98'
+ },
+ '18' => {
+ 'name' => 'cblockw_init',
+ 'offset' => '5604',
+ 'type' => '98'
+ },
+ '19' => {
+ 'name' => 'cblockh_init',
+ 'offset' => '5608',
+ 'type' => '98'
+ },
+ '2' => {
+ 'name' => 'cp_ty0',
+ 'offset' => '8',
+ 'type' => '98'
+ },
+ '20' => {
+ 'name' => 'mode',
+ 'offset' => '5612',
+ 'type' => '98'
+ },
+ '21' => {
+ 'name' => 'irreversible',
+ 'offset' => '5616',
+ 'type' => '98'
+ },
+ '22' => {
+ 'name' => 'roi_compno',
+ 'offset' => '5620',
+ 'type' => '98'
+ },
+ '23' => {
+ 'name' => 'roi_shift',
+ 'offset' => '5624',
+ 'type' => '98'
+ },
+ '24' => {
+ 'name' => 'res_spec',
+ 'offset' => '5628',
+ 'type' => '98'
+ },
+ '25' => {
+ 'name' => 'prcw_init',
+ 'offset' => '5632',
+ 'type' => '53491'
+ },
+ '26' => {
+ 'name' => 'prch_init',
+ 'offset' => '5764',
+ 'type' => '53491'
+ },
+ '27' => {
+ 'name' => 'infile',
+ 'offset' => '5896',
+ 'type' => '53507'
+ },
+ '28' => {
+ 'name' => 'outfile',
+ 'offset' => '9992',
+ 'type' => '53507'
+ },
+ '29' => {
+ 'name' => 'index_on',
+ 'offset' => '14088',
+ 'type' => '98'
+ },
+ '3' => {
+ 'name' => 'cp_tdx',
+ 'offset' => '12',
+ 'type' => '98'
+ },
+ '30' => {
+ 'name' => 'index',
+ 'offset' => '14092',
+ 'type' => '53507'
+ },
+ '31' => {
+ 'name' => 'image_offset_x0',
+ 'offset' => '18188',
+ 'type' => '98'
+ },
+ '32' => {
+ 'name' => 'image_offset_y0',
+ 'offset' => '18192',
+ 'type' => '98'
+ },
+ '33' => {
+ 'name' => 'subsampling_dx',
+ 'offset' => '18196',
+ 'type' => '98'
+ },
+ '34' => {
+ 'name' => 'subsampling_dy',
+ 'offset' => '18200',
+ 'type' => '98'
+ },
+ '35' => {
+ 'name' => 'decod_format',
+ 'offset' => '18204',
+ 'type' => '98'
+ },
+ '36' => {
+ 'name' => 'cod_format',
+ 'offset' => '18208',
+ 'type' => '98'
+ },
+ '37' => {
+ 'name' => 'jpwl_epc_on',
+ 'offset' => '18212',
+ 'type' => '701'
+ },
+ '38' => {
+ 'name' => 'jpwl_hprot_MH',
+ 'offset' => '18216',
+ 'type' => '98'
+ },
+ '39' => {
+ 'name' => 'jpwl_hprot_TPH_tileno',
+ 'offset' => '18220',
+ 'type' => '53524'
+ },
+ '4' => {
+ 'name' => 'cp_tdy',
+ 'offset' => '16',
+ 'type' => '98'
+ },
+ '40' => {
+ 'name' => 'jpwl_hprot_TPH',
+ 'offset' => '18284',
+ 'type' => '53524'
+ },
+ '41' => {
+ 'name' => 'jpwl_pprot_tileno',
+ 'offset' => '18348',
+ 'type' => '53524'
+ },
+ '42' => {
+ 'name' => 'jpwl_pprot_packno',
+ 'offset' => '18412',
+ 'type' => '53524'
+ },
+ '43' => {
+ 'name' => 'jpwl_pprot',
+ 'offset' => '18476',
+ 'type' => '53524'
+ },
+ '44' => {
+ 'name' => 'jpwl_sens_size',
+ 'offset' => '18540',
+ 'type' => '98'
+ },
+ '45' => {
+ 'name' => 'jpwl_sens_addr',
+ 'offset' => '18544',
+ 'type' => '98'
+ },
+ '46' => {
+ 'name' => 'jpwl_sens_range',
+ 'offset' => '18548',
+ 'type' => '98'
+ },
+ '47' => {
+ 'name' => 'jpwl_sens_MH',
+ 'offset' => '18552',
+ 'type' => '98'
+ },
+ '48' => {
+ 'name' => 'jpwl_sens_TPH_tileno',
+ 'offset' => '18556',
+ 'type' => '53524'
+ },
+ '49' => {
+ 'name' => 'jpwl_sens_TPH',
+ 'offset' => '18620',
+ 'type' => '53524'
+ },
+ '5' => {
+ 'name' => 'cp_disto_alloc',
+ 'offset' => '20',
+ 'type' => '98'
+ },
+ '50' => {
+ 'name' => 'cp_cinema',
+ 'offset' => '18684',
+ 'type' => '51927'
+ },
+ '51' => {
+ 'name' => 'max_comp_size',
+ 'offset' => '18688',
+ 'type' => '98'
+ },
+ '52' => {
+ 'name' => 'cp_rsiz',
+ 'offset' => '18692',
+ 'type' => '51878'
+ },
+ '53' => {
+ 'name' => 'tp_on',
+ 'offset' => '18696',
+ 'type' => '149'
+ },
+ '54' => {
+ 'name' => 'tp_flag',
+ 'offset' => '18697',
+ 'type' => '149'
+ },
+ '55' => {
+ 'name' => 'tcp_mct',
+ 'offset' => '18698',
+ 'type' => '149'
+ },
+ '56' => {
+ 'name' => 'jpip_on',
+ 'offset' => '18700',
+ 'type' => '701'
+ },
+ '57' => {
+ 'name' => 'mct_data',
+ 'offset' => '18704',
+ 'type' => '141'
+ },
+ '58' => {
+ 'name' => 'max_cs_size',
+ 'offset' => '18712',
+ 'type' => '98'
+ },
+ '59' => {
+ 'name' => 'rsiz',
+ 'offset' => '18716',
+ 'type' => '42156'
+ },
+ '6' => {
+ 'name' => 'cp_fixed_alloc',
+ 'offset' => '24',
+ 'type' => '98'
+ },
+ '7' => {
+ 'name' => 'cp_fixed_quality',
+ 'offset' => '28',
+ 'type' => '98'
+ },
+ '8' => {
+ 'name' => 'cp_matrice',
+ 'offset' => '32',
+ 'type' => '53453'
+ },
+ '9' => {
+ 'name' => 'cp_comment',
+ 'offset' => '40',
+ 'type' => '143'
+ }
+ },
+ 'Name' => 'struct opj_cparameters',
+ 'Size' => '18720',
+ 'Type' => 'Struct'
+ },
+ '53453' => {
+ 'BaseType' => '98',
+ 'Name' => 'int*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '53475' => {
+ 'BaseType' => '163',
+ 'Name' => 'float[100]',
+ 'Size' => '400',
+ 'Type' => 'Array'
+ },
+ '53491' => {
+ 'BaseType' => '98',
+ 'Name' => 'int[33]',
+ 'Size' => '132',
+ 'Type' => 'Array'
+ },
+ '53507' => {
+ 'BaseType' => '149',
+ 'Name' => 'char[4096]',
+ 'Size' => '4096',
+ 'Type' => 'Array'
+ },
+ '53524' => {
+ 'BaseType' => '98',
+ 'Name' => 'int[16]',
+ 'Size' => '64',
+ 'Type' => 'Array'
+ },
+ '53540' => {
+ 'BaseType' => '52611',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '501',
+ 'Name' => 'opj_cparameters_t',
+ 'Size' => '18720',
+ 'Type' => 'Typedef'
+ },
+ '53552' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '509',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'cp_reduce',
+ 'offset' => '0',
+ 'type' => '9015'
+ },
+ '1' => {
+ 'name' => 'cp_layer',
+ 'offset' => '4',
+ 'type' => '9015'
+ },
+ '10' => {
+ 'name' => 'm_verbose',
+ 'offset' => '8224',
+ 'type' => '701'
+ },
+ '11' => {
+ 'name' => 'tile_index',
+ 'offset' => '8228',
+ 'type' => '9015'
+ },
+ '12' => {
+ 'name' => 'nb_tile_to_decode',
+ 'offset' => '8232',
+ 'type' => '9015'
+ },
+ '13' => {
+ 'name' => 'jpwl_correct',
+ 'offset' => '8236',
+ 'type' => '701'
+ },
+ '14' => {
+ 'name' => 'jpwl_exp_comps',
+ 'offset' => '8240',
+ 'type' => '98'
+ },
+ '15' => {
+ 'name' => 'jpwl_max_tiles',
+ 'offset' => '8244',
+ 'type' => '98'
+ },
+ '16' => {
+ 'name' => 'flags',
+ 'offset' => '8248',
+ 'type' => '77'
+ },
+ '2' => {
+ 'name' => 'infile',
+ 'offset' => '8',
+ 'type' => '53507'
+ },
+ '3' => {
+ 'name' => 'outfile',
+ 'offset' => '4104',
+ 'type' => '53507'
+ },
+ '4' => {
+ 'name' => 'decod_format',
+ 'offset' => '8200',
+ 'type' => '98'
+ },
+ '5' => {
+ 'name' => 'cod_format',
+ 'offset' => '8204',
+ 'type' => '98'
+ },
+ '6' => {
+ 'name' => 'DA_x0',
+ 'offset' => '8208',
+ 'type' => '9015'
+ },
+ '7' => {
+ 'name' => 'DA_x1',
+ 'offset' => '8212',
+ 'type' => '9015'
+ },
+ '8' => {
+ 'name' => 'DA_y0',
+ 'offset' => '8216',
+ 'type' => '9015'
+ },
+ '9' => {
+ 'name' => 'DA_y1',
+ 'offset' => '8220',
+ 'type' => '9015'
+ }
+ },
+ 'Name' => 'struct opj_dparameters',
+ 'Size' => '8252',
+ 'Type' => 'Struct'
+ },
+ '53802' => {
+ 'BaseType' => '53552',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '569',
+ 'Name' => 'opj_dparameters_t',
+ 'Size' => '8252',
+ 'Type' => 'Typedef'
+ },
+ '54318' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '723',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'start_pos',
+ 'offset' => '0',
+ 'type' => '11199'
+ },
+ '1' => {
+ 'name' => 'end_ph_pos',
+ 'offset' => '8',
+ 'type' => '11199'
+ },
+ '2' => {
+ 'name' => 'end_pos',
+ 'offset' => '16',
+ 'type' => '11199'
+ },
+ '3' => {
+ 'name' => 'disto',
+ 'offset' => '24',
+ 'type' => '170'
+ }
+ },
+ 'Name' => 'struct opj_packet_info',
+ 'Size' => '32',
+ 'Type' => 'Struct'
+ },
+ '54384' => {
+ 'BaseType' => '54318',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '732',
+ 'Name' => 'opj_packet_info_t',
+ 'Size' => '32',
+ 'Type' => 'Typedef'
+ },
+ '54396' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '739',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'type',
+ 'offset' => '0',
+ 'type' => '70'
+ },
+ '1' => {
+ 'name' => 'pos',
+ 'offset' => '8',
+ 'type' => '11199'
+ },
+ '2' => {
+ 'name' => 'len',
+ 'offset' => '16',
+ 'type' => '98'
+ }
+ },
+ 'Name' => 'struct opj_marker_info',
+ 'Size' => '24',
+ 'Type' => 'Struct'
+ },
+ '54449' => {
+ 'BaseType' => '54396',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '746',
+ 'Name' => 'opj_marker_info_t',
+ 'Size' => '24',
+ 'Type' => 'Typedef'
+ },
+ '54801' => {
+ 'BaseType' => '54384',
+ 'Name' => 'opj_packet_info_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '54807' => {
+ 'BaseType' => '54449',
+ 'Name' => 'opj_marker_info_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '55147' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '863',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'compno',
+ 'offset' => '0',
+ 'type' => '9015'
+ },
+ '1' => {
+ 'name' => 'csty',
+ 'offset' => '4',
+ 'type' => '9015'
+ },
+ '10' => {
+ 'name' => 'numgbits',
+ 'offset' => '808',
+ 'type' => '9015'
+ },
+ '11' => {
+ 'name' => 'roishift',
+ 'offset' => '812',
+ 'type' => '9004'
+ },
+ '12' => {
+ 'name' => 'prcw',
+ 'offset' => '816',
+ 'type' => '18292'
+ },
+ '13' => {
+ 'name' => 'prch',
+ 'offset' => '948',
+ 'type' => '18292'
+ },
+ '2' => {
+ 'name' => 'numresolutions',
+ 'offset' => '8',
+ 'type' => '9015'
+ },
+ '3' => {
+ 'name' => 'cblkw',
+ 'offset' => '12',
+ 'type' => '9015'
+ },
+ '4' => {
+ 'name' => 'cblkh',
+ 'offset' => '16',
+ 'type' => '9015'
+ },
+ '5' => {
+ 'name' => 'cblksty',
+ 'offset' => '20',
+ 'type' => '9015'
+ },
+ '6' => {
+ 'name' => 'qmfbid',
+ 'offset' => '24',
+ 'type' => '9015'
+ },
+ '7' => {
+ 'name' => 'qntsty',
+ 'offset' => '28',
+ 'type' => '9015'
+ },
+ '8' => {
+ 'name' => 'stepsizes_mant',
+ 'offset' => '32',
+ 'type' => '55349'
+ },
+ '9' => {
+ 'name' => 'stepsizes_expn',
+ 'offset' => '420',
+ 'type' => '55349'
+ }
+ },
+ 'Name' => 'struct opj_tccp_info',
+ 'Size' => '1080',
+ 'Type' => 'Struct'
+ },
+ '55349' => {
+ 'BaseType' => '9015',
+ 'Name' => 'OPJ_UINT32[97]',
+ 'Size' => '388',
+ 'Type' => 'Array'
+ },
+ '55381' => {
+ 'BaseType' => '55147',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '893',
+ 'Name' => 'opj_tccp_info_t',
+ 'Size' => '1080',
+ 'Type' => 'Typedef'
+ },
+ '55393' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '898',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'tileno',
+ 'offset' => '0',
+ 'type' => '98'
+ },
+ '1' => {
+ 'name' => 'csty',
+ 'offset' => '4',
+ 'type' => '9015'
+ },
+ '2' => {
+ 'name' => 'prg',
+ 'offset' => '8',
+ 'type' => '42261'
+ },
+ '3' => {
+ 'name' => 'numlayers',
+ 'offset' => '12',
+ 'type' => '9015'
+ },
+ '4' => {
+ 'name' => 'mct',
+ 'offset' => '16',
+ 'type' => '9015'
+ },
+ '5' => {
+ 'name' => 'tccp_info',
+ 'offset' => '24',
+ 'type' => '55485'
+ }
+ },
+ 'Name' => 'struct opj_tile_v2_info',
+ 'Size' => '32',
+ 'Type' => 'Struct'
+ },
+ '55485' => {
+ 'BaseType' => '55381',
+ 'Name' => 'opj_tccp_info_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '55491' => {
+ 'BaseType' => '55393',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '914',
+ 'Name' => 'opj_tile_info_v2_t',
+ 'Size' => '32',
+ 'Type' => 'Typedef'
+ },
+ '55503' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '919',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'tx0',
+ 'offset' => '0',
+ 'type' => '9015'
+ },
+ '1' => {
+ 'name' => 'ty0',
+ 'offset' => '4',
+ 'type' => '9015'
+ },
+ '2' => {
+ 'name' => 'tdx',
+ 'offset' => '8',
+ 'type' => '9015'
+ },
+ '3' => {
+ 'name' => 'tdy',
+ 'offset' => '12',
+ 'type' => '9015'
+ },
+ '4' => {
+ 'name' => 'tw',
+ 'offset' => '16',
+ 'type' => '9015'
+ },
+ '5' => {
+ 'name' => 'th',
+ 'offset' => '20',
+ 'type' => '9015'
+ },
+ '6' => {
+ 'name' => 'nbcomps',
+ 'offset' => '24',
+ 'type' => '9015'
+ },
+ '7' => {
+ 'name' => 'm_default_tile_info',
+ 'offset' => '32',
+ 'type' => '55491'
+ },
+ '8' => {
+ 'name' => 'tile_info',
+ 'offset' => '64',
+ 'type' => '55632'
+ }
+ },
+ 'Name' => 'struct opj_codestream_info_v2',
+ 'Size' => '72',
+ 'Type' => 'Struct'
+ },
+ '55632' => {
+ 'BaseType' => '55491',
+ 'Name' => 'opj_tile_info_v2_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '55638' => {
+ 'BaseType' => '55503',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '943',
+ 'Name' => 'opj_codestream_info_v2_t',
+ 'Size' => '72',
+ 'Type' => 'Typedef'
+ },
+ '55650' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '949',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'start_pos',
+ 'offset' => '0',
+ 'type' => '11199'
+ },
+ '1' => {
+ 'name' => 'end_header',
+ 'offset' => '8',
+ 'type' => '11199'
+ },
+ '2' => {
+ 'name' => 'end_pos',
+ 'offset' => '16',
+ 'type' => '11199'
+ }
+ },
+ 'Name' => 'struct opj_tp_index',
+ 'Size' => '24',
+ 'Type' => 'Struct'
+ },
+ '55703' => {
+ 'BaseType' => '55650',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '957',
+ 'Name' => 'opj_tp_index_t',
+ 'Size' => '24',
+ 'Type' => 'Typedef'
+ },
+ '55715' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '962',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'tileno',
+ 'offset' => '0',
+ 'type' => '9015'
+ },
+ '1' => {
+ 'name' => 'nb_tps',
+ 'offset' => '4',
+ 'type' => '9015'
+ },
+ '2' => {
+ 'name' => 'current_nb_tps',
+ 'offset' => '8',
+ 'type' => '9015'
+ },
+ '3' => {
+ 'name' => 'current_tpsno',
+ 'offset' => '12',
+ 'type' => '9015'
+ },
+ '4' => {
+ 'name' => 'tp_index',
+ 'offset' => '16',
+ 'type' => '55859'
+ },
+ '5' => {
+ 'name' => 'marknum',
+ 'offset' => '24',
+ 'type' => '9015'
+ },
+ '6' => {
+ 'name' => 'marker',
+ 'offset' => '32',
+ 'type' => '54807'
+ },
+ '7' => {
+ 'name' => 'maxmarknum',
+ 'offset' => '40',
+ 'type' => '9015'
+ },
+ '8' => {
+ 'name' => 'nb_packet',
+ 'offset' => '44',
+ 'type' => '9015'
+ },
+ '9' => {
+ 'name' => 'packet_index',
+ 'offset' => '48',
+ 'type' => '54801'
+ }
+ },
+ 'Name' => 'struct opj_tile_index',
+ 'Size' => '56',
+ 'Type' => 'Struct'
+ },
+ '55859' => {
+ 'BaseType' => '55703',
+ 'Name' => 'opj_tp_index_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '55865' => {
+ 'BaseType' => '55715',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '989',
+ 'Name' => 'opj_tile_index_t',
+ 'Size' => '56',
+ 'Type' => 'Typedef'
+ },
+ '55877' => {
+ 'Header' => 'openjpeg.h',
+ 'Line' => '994',
+ 'Memb' => {
+ '0' => {
+ 'name' => 'main_head_start',
+ 'offset' => '0',
+ 'type' => '11199'
+ },
+ '1' => {
+ 'name' => 'main_head_end',
+ 'offset' => '8',
+ 'type' => '11199'
+ },
+ '2' => {
+ 'name' => 'codestream_size',
+ 'offset' => '16',
+ 'type' => '11188'
+ },
+ '3' => {
+ 'name' => 'marknum',
+ 'offset' => '24',
+ 'type' => '9015'
+ },
+ '4' => {
+ 'name' => 'marker',
+ 'offset' => '32',
+ 'type' => '54807'
+ },
+ '5' => {
+ 'name' => 'maxmarknum',
+ 'offset' => '40',
+ 'type' => '9015'
+ },
+ '6' => {
+ 'name' => 'nb_of_tiles',
+ 'offset' => '44',
+ 'type' => '9015'
+ },
+ '7' => {
+ 'name' => 'tile_index',
+ 'offset' => '48',
+ 'type' => '55995'
+ }
+ },
+ 'Name' => 'struct opj_codestream_index',
+ 'Size' => '56',
+ 'Type' => 'Struct'
+ },
+ '55995' => {
+ 'BaseType' => '55865',
+ 'Name' => 'opj_tile_index_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '56' => {
+ 'Name' => 'unsigned long',
+ 'Size' => '8',
+ 'Type' => 'Intrinsic'
+ },
+ '56001' => {
+ 'BaseType' => '55877',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '1017',
+ 'Name' => 'opj_codestream_index_t',
+ 'Size' => '56',
+ 'Type' => 'Typedef'
+ },
+ '58944' => {
+ 'BaseType' => '56001',
+ 'Name' => 'opj_codestream_index_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '595' => {
+ 'Header' => 'libio.h',
+ 'Line' => '182',
+ 'Name' => '_IO_lock_t',
+ 'Type' => 'Typedef'
+ },
+ '602' => {
+ 'Header' => 'libio.h',
+ 'Line' => '188',
+ 'Memb' => {
+ '0' => {
+ 'name' => '_next',
+ 'offset' => '0',
+ 'type' => '651'
+ },
+ '1' => {
+ 'name' => '_sbuf',
+ 'offset' => '8',
+ 'type' => '657'
+ },
+ '2' => {
+ 'name' => '_pos',
+ 'offset' => '16',
+ 'type' => '98'
+ }
+ },
+ 'Name' => 'struct _IO_marker',
+ 'PrivateABI' => 1,
+ 'Size' => '24',
+ 'Type' => 'Struct'
+ },
+ '60904' => {
+ 'BaseType' => '45024',
+ 'Name' => 'opj_image_t**',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '60910' => {
+ 'BaseType' => '701',
+ 'Name' => 'OPJ_BOOL*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '60916' => {
+ 'BaseType' => '53802',
+ 'Name' => 'opj_dparameters_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '60928' => {
+ 'BaseType' => '53540',
+ 'Name' => 'opj_cparameters_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '60934' => {
+ 'BaseType' => '51122',
+ 'Name' => 'FILE*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '60940' => {
+ 'BaseType' => '55638',
+ 'Name' => 'opj_codestream_info_v2_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '63' => {
+ 'Name' => 'unsigned char',
+ 'Size' => '1',
+ 'Type' => 'Intrinsic'
+ },
+ '651' => {
+ 'BaseType' => '602',
+ 'Name' => 'struct _IO_marker*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '657' => {
+ 'BaseType' => '188',
+ 'Name' => 'struct _IO_FILE*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '663' => {
+ 'BaseType' => '149',
+ 'Name' => 'char[1]',
+ 'Size' => '1',
+ 'Type' => 'Array'
+ },
+ '679' => {
+ 'BaseType' => '595',
+ 'Name' => '_IO_lock_t*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '685' => {
+ 'BaseType' => '149',
+ 'Name' => 'char[20]',
+ 'Size' => '20',
+ 'Type' => 'Array'
+ },
+ '70' => {
+ 'Name' => 'unsigned short',
+ 'Size' => '2',
+ 'Type' => 'Intrinsic'
+ },
+ '701' => {
+ 'BaseType' => '98',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '110',
+ 'Name' => 'OPJ_BOOL',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '712' => {
+ 'Name' => 'void(*)(void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '141'
+ }
+ },
+ 'Return' => '1',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '77' => {
+ 'Name' => 'unsigned int',
+ 'Size' => '4',
+ 'Type' => 'Intrinsic'
+ },
+ '84' => {
+ 'Name' => 'signed char',
+ 'Size' => '1',
+ 'Type' => 'Intrinsic'
+ },
+ '8971' => {
+ 'BaseType' => '63',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '117',
+ 'Name' => 'OPJ_BYTE',
+ 'Size' => '1',
+ 'Type' => 'Typedef'
+ },
+ '8982' => {
+ 'BaseType' => '98',
+ 'Header' => 'stdint.h',
+ 'Line' => '39',
+ 'Name' => 'int32_t',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '8993' => {
+ 'BaseType' => '77',
+ 'Header' => 'stdint.h',
+ 'Line' => '52',
+ 'Name' => 'uint32_t',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '9004' => {
+ 'BaseType' => '8982',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '125',
+ 'Name' => 'OPJ_INT32',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '9015' => {
+ 'BaseType' => '8993',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '126',
+ 'Name' => 'OPJ_UINT32',
+ 'Size' => '4',
+ 'Type' => 'Typedef'
+ },
+ '9026' => {
+ 'BaseType' => '45',
+ 'Header' => 'openjpeg.h',
+ 'Line' => '133',
+ 'Name' => 'OPJ_SIZE_T',
+ 'Size' => '8',
+ 'Type' => 'Typedef'
+ },
+ '9037' => {
+ 'BaseType' => '8971',
+ 'Name' => 'OPJ_BYTE*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '98' => {
+ 'Name' => 'int',
+ 'Size' => '4',
+ 'Type' => 'Intrinsic'
+ }
+ },
+ 'UndefinedSymbols' => {
+ 'libopenjp2.so.2.2.0' => {
+ '_ITM_deregisterTMCloneTable' => 0,
+ '_ITM_registerTMCloneTable' => 0,
+ '_Jv_RegisterClasses' => 0,
+ '__assert_fail@GLIBC_2.2.5' => 0,
+ '__cxa_finalize@GLIBC_2.2.5' => 0,
+ '__fprintf_chk@GLIBC_2.3.4' => 0,
+ '__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
+<!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.1.2 and 2.2.0 versions of openjpeg" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/headers_diff.css" />
+
+
+ <title>
+ OpenJPEG: headers diff between 2.1.2 and 2.2.0 versions
+ </title>
+
+ </head>
+
+<body>
+<table width='100%' cellpadding='0' cellspacing='0'><tr><td><table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Headers diff: <span class='version'>2.1.2</span> vs <span class='version'>2.2.0</span></h1><br/><br/>
+ <table class='diff_tbl' border="0" cellpadding="0" cellspacing="0">
+ <tr bgcolor="orange"><th></th><th> openjpeg.h (2.1.2) </th><th> </th><th> openjpeg.h (2.2.0) </th><th></th></tr>
+ <tr><td><a name="diff0001" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /*</td><td> </td><td class="rblock">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * The copyright in this software is being made available under the <span class="delete">2-claus</span></td><td> </td><td class="rblock">* The copyright in this software is being made available under the <span class="insert">2-clause</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">es</span></td><td> </td><td class="rblock"><span class="insert">s</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * BSD License, included below. This software may be subject to other third</td><td> </td><td class="rblock">* BSD License, included below. This software may be subject to other third</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * party and contributor rights, including patent rights, and no such <span class="delete">right</span></td><td> </td><td class="rblock">* party and contributor rights, including patent rights, and no such <span class="insert">rights</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">s</span></td><td> </td><td class="rblock">* are granted under this license.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * are granted under this license.</td><td> </td><td class="rblock">*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> *</td><td> </td><td class="rblock">* Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium</td><td> </td><td class="rblock">* Copyright (c) 2002-2014, Professor Benoit Macq</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2002-2014, Professor Benoit Macq</td><td> </td><td class="rblock">* Copyright (c) 2001-2003, David Janssens</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2001-2003, David Janssens</td><td> </td><td class="rblock">* Copyright (c) 2002-2003, Yannick Verschueren</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2002-2003, Yannick Verschueren</td><td> </td><td class="rblock">* Copyright (c) 2003-2007, Francois-Olivier Devaux</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2003-2007, Francois-Olivier Devaux</td><td> </td><td class="rblock">* Copyright (c) 2003-2014, Antonin Descampe</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2003-2014, Antonin Descampe</td><td> </td><td class="rblock">* Copyright (c) 2005, Herve Drolon, FreeImage Team</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2005, Herve Drolon, FreeImage Team</td><td> </td><td class="rblock">* Copyright (c) 2006-2007, Parvatha Elangovan</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2006-2007, Parvatha Elangovan</td><td> </td><td class="rblock">* Copyright (c) 2008, Jerome Fimes, Communications & Systemes <span class="insert"><jerome.fimes</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2008, Jerome Fimes, Communications & Systemes <span class="delete"><jerome.fime</span></td><td> </td><td class="rblock"><span class="insert">@c-s.fr></span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">s@c-s.fr></span></td><td> </td><td class="rblock">* Copyright (c) 2010-2011, Kaori Hagihara</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2010-2011, Kaori Hagihara</td><td> </td><td class="rblock">* Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), <span class="insert">Franc</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), <span class="delete">Fran</span></td><td> </td><td class="rblock"><span class="insert">e</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ce</span></td><td> </td><td class="rblock">* Copyright (c) 2012, CS Systemes d'Information, France</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2012, CS Systemes d'Information, France</td><td> </td><td class="rblock">* All rights reserved.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * All rights reserved.</td><td> </td><td class="rblock">*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> *</td><td> </td><td class="rblock">* Redistribution and use in source and binary forms, with or without</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * Redistribution and use in source and binary forms, with or without</td><td> </td><td class="rblock">* modification, are permitted provided that the following conditions</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * modification, are permitted provided that the following conditions</td><td> </td><td class="rblock">* are met:</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * are met:</td><td> </td><td class="rblock">* 1. Redistributions of source code must retain the above copyright</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * 1. Redistributions of source code must retain the above copyright</td><td> </td><td class="rblock">* notice, this list of conditions and the following disclaimer.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * notice, this list of conditions and the following disclaimer.</td><td> </td><td class="rblock">* 2. Redistributions in binary form must reproduce the above copyright</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * 2. Redistributions in binary form must reproduce the above copyright</td><td> </td><td class="rblock">* notice, this list of conditions and the following disclaimer in the</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * notice, this list of conditions and the following disclaimer in the</td><td> </td><td class="rblock">* documentation and/or other materials provided with the distribution.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * documentation and/or other materials provided with the distribution.</td><td> </td><td class="rblock">*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> *</td><td> </td><td class="rblock">* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS <span class="insert">I</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS </td><td> </td><td class="rblock"><span class="insert">S'</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">IS'</span></td><td> </td><td class="rblock">* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, <span class="insert">THE</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, <span class="delete">TH</span></td><td> </td><td class="rblock">* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR <span class="insert">PURPOS</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">E</span></td><td> </td><td class="rblock"><span class="insert">E</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR <span class="delete">PURPO</span></td><td> </td><td class="rblock">* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS <span class="insert">BE</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">SE</span></td><td> </td><td class="rblock">* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS <span class="delete">B</span></td><td> </td><td class="rblock">* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">E</span></td><td> </td><td class="rblock">* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</td><td> </td><td class="rblock">* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</td><td> </td><td class="rblock">* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</td><td> </td><td class="rblock">* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF <span class="insert">TH</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</td><td> </td><td class="rblock"><span class="insert">E</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</td><td> </td><td class="rblock">* POSSIBILITY OF SUCH DAMAGE.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF <span class="delete">T</span></td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">HE</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * POSSIBILITY OF SUCH DAMAGE.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> */</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#ifndef OPENJPEG_H</td><td> </td><td class="right">#ifndef OPENJPEG_H</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define OPENJPEG_H</td><td> </td><td class="right">#define OPENJPEG_H</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> Compiler directives</td><td> </td><td class="right"> Compiler directives</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">The inline keyword is supported by C99 but not by C90.</td><td> </td><td class="right">The inline keyword is supported by C99 but not by C90.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">Most compilers implement their own version of this keyword ...</td><td> </td><td class="right">Most compilers implement their own version of this keyword ...</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#ifndef INLINE</td><td> </td><td class="right">#ifndef INLINE</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0002" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> #if defined(_MSC_VER)</td><td> </td><td class="rblock">#if defined(_MSC_VER)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> #define INLINE __forceinline</td><td> </td><td class="rblock">#define INLINE __forceinline</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> #elif defined(__GNUC__)</td><td> </td><td class="rblock">#elif defined(__GNUC__)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> #define INLINE __inline__</td><td> </td><td class="rblock">#define INLINE __inline__</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> #elif defined(__MWERKS__)</td><td> </td><td class="rblock">#elif defined(__MWERKS__)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> #define INLINE inline</td><td> </td><td class="rblock">#define INLINE inline</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> #else</td><td> </td><td class="rblock">#else</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /* add other compilers here ... */</td><td> </td><td class="rblock">/* add other compilers here ... */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> #define INLINE</td><td> </td><td class="rblock">#define INLINE</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> #endif /* defined(<Compiler>) */</td><td> </td><td class="rblock">#endif /* defined(<Compiler>) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#endif /* INLINE */</td><td> </td><td class="right">#endif /* INLINE */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* deprecated attribute */</td><td> </td><td class="right">/* deprecated attribute */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#ifdef __GNUC__</td><td> </td><td class="right">#ifdef __GNUC__</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0003" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span>#define OPJ_DEPRECATED(func) func __attribute__ ((deprecated))</td><td> </td><td class="rblock">#define OPJ_DEPRECATED(func) func __attribute__ ((deprecated))</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#elif defined(_MSC_VER)</td><td> </td><td class="right">#elif defined(_MSC_VER)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0004" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span>#define OPJ_DEPRECATED(func) __declspec(deprecated) func</td><td> </td><td class="rblock">#define OPJ_DEPRECATED(func) __declspec(deprecated) func</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#else</td><td> </td><td class="right">#else</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0005" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> #pragma message("WARNING: You need to implement DEPRECATED for this </td><td> </td><td class="rblock">#pragma message("WARNING: You need to implement DEPRECATED for this <span class="insert">compile</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">compiler")</span></td><td> </td><td class="rblock"><span class="insert">r")</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> #define OPJ_DEPRECATED(func) func</td><td> </td><td class="rblock">#define OPJ_DEPRECATED(func) func</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#endif</td><td> </td><td class="right">#endif</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#if defined(OPJ_STATIC) || !defined(_WIN32)</td><td> </td><td class="right">#if defined(OPJ_STATIC) || !defined(_WIN32)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* http://gcc.gnu.org/wiki/Visibility */</td><td> </td><td class="right">/* http://gcc.gnu.org/wiki/Visibility */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0006" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># if __GNUC__ >= 4</td><td> </td><td class="rblock"># if __GNUC__ >= 4</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># if defined(OPJ_STATIC) /* static library uses "hidden" */</td><td> </td><td class="rblock"># if defined(OPJ_STATIC) /* static library uses "hidden" */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># define OPJ_API __attribute__ ((visibility <span class="delete">("hidde</span></td><td> </td><td class="rblock"># define OPJ_API __attribute__ ((visibility <span class="insert">("hidden")))</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">n")))</span></td><td> </td><td class="rblock"># else</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># else</td><td> </td><td class="rblock"># define OPJ_API __attribute__ ((visibility <span class="insert">("default")))</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># define OPJ_API __attribute__ ((visibility <span class="delete">("defau</span></td><td> </td><td class="rblock"># endif</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">lt")))</span></td><td> </td><td class="rblock"># define OPJ_LOCAL __attribute__ ((visibility ("hidden")))</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># endif</td><td> </td><td class="rblock"># else</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># define OPJ_LOCAL __attribute__ ((visibility ("hidden")))</td><td> </td><td class="rblock"># define OPJ_API</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># else</td><td> </td><td class="rblock"># define OPJ_LOCAL</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># define OPJ_API</td><td> </td><td class="rblock"># endif</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># define OPJ_LOCAL</td><td> </td><td class="rblock"># define OPJ_CALLCONV</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># endif</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># define OPJ_CALLCONV</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#else</td><td> </td><td class="right">#else</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0007" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># <span class="delete"> </span>define OPJ_CALLCONV __stdcall</td><td> </td><td class="rblock"># define OPJ_CALLCONV __stdcall</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">The following ifdef block is the standard way of creating macros which make
+ exporting</td><td> </td><td class="right">The following ifdef block is the standard way of creating macros which make
+ exporting</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">from a DLL simpler. All files within this DLL are compiled with the OPJ_EXP
+ORTS</td><td> </td><td class="right">from a DLL simpler. All files within this DLL are compiled with the OPJ_EXP
+ORTS</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">symbol defined on the command line. this symbol should not be defined on an
+y project</td><td> </td><td class="right">symbol defined on the command line. this symbol should not be defined on an
+y project</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">that uses this DLL. This way any other project whose source files include t
+his file see</td><td> </td><td class="right">that uses this DLL. This way any other project whose source files include t
+his file see</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API functions as being imported from a DLL, whereas this DLL sees symbo
+ls</td><td> </td><td class="right">OPJ_API functions as being imported from a DLL, whereas this DLL sees symbo
+ls</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">defined with this macro as being exported.</td><td> </td><td class="right">defined with this macro as being exported.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0008" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># if defined(OPJ_EXPORTS) || defined(DLL_EXPORT)</td><td> </td><td class="rblock"># if defined(OPJ_EXPORTS) || defined(DLL_EXPORT)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># define OPJ_API __declspec(dllexport)</td><td> </td><td class="rblock"># define OPJ_API __declspec(dllexport)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># else</td><td> </td><td class="rblock"># else</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># define OPJ_API __declspec(dllimport)</td><td> </td><td class="rblock"># define OPJ_API __declspec(dllimport)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"># endif /* OPJ_EXPORTS */</td><td> </td><td class="rblock"># endif /* OPJ_EXPORTS */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#endif /* !OPJ_STATIC || !_WIN32 */</td><td> </td><td class="right">#endif /* !OPJ_STATIC || !_WIN32 */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef int OPJ_BOOL;</td><td> </td><td class="right">typedef int OPJ_BOOL;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_TRUE 1</td><td> </td><td class="right">#define OPJ_TRUE 1</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_FALSE 0</td><td> </td><td class="right">#define OPJ_FALSE 0</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef char OPJ_CHAR;</td><td> </td><td class="right">typedef char OPJ_CHAR;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef float OPJ_FLOAT32;</td><td> </td><td class="right">typedef float OPJ_FLOAT32;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef double OPJ_FLOAT64;</td><td> </td><td class="right">typedef double OPJ_FLOAT64;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef unsigned char OPJ_BYTE;</td><td> </td><td class="right">typedef unsigned char OPJ_BYTE;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> line 145</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> line 145</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_ARG_NOT_USED(x) (void)(x)</td><td> </td><td class="right">#define OPJ_ARG_NOT_USED(x) (void)(x)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> Useful constant definitions</td><td> </td><td class="right"> Useful constant definitions</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_PATH_LEN 4096 /**< Maximum allowed size for filenames */</td><td> </td><td class="right">#define OPJ_PATH_LEN 4096 /**< Maximum allowed size for filenames */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0009" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_MAXRLVLS 33 /**< Number </td><td> </td><td class="rblock">#define OPJ_J2K_MAXRLVLS 33 /**< Number of maximum <span class="insert">resoluti</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">of maximum <span class="delete">resolution</span> level authorized */</td><td> </td><td class="rblock"><span class="insert">on</span> level authorized */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_MAXBANDS (3*OPJ_J2K_MAXRLVLS-2) /**< Number of <span class="delete">maxim</span></td><td> </td><td class="rblock">#define OPJ_J2K_MAXBANDS (3*OPJ_J2K_MAXRLVLS-2) /**< Number of <span class="insert">maximum sub-</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">um sub-band</span> linked to number of resolution level */</td><td> </td><td class="rblock"><span class="insert">band</span> linked to number of resolution level */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0010" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_DEFAULT_NB_SEGS 10</td><td> </td><td class="rblock">#define OPJ_J2K_DEFAULT_NB_SEGS 10</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_STREAM_CHUNK_SIZE 0x100000 /** 1 mega </td><td> </td><td class="rblock">#define OPJ_J2K_STREAM_CHUNK_SIZE 0x100000 /** 1 mega by default </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">by default */</td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_DEFAULT_HEADER_SIZE 1000</td><td> </td><td class="rblock">#define OPJ_J2K_DEFAULT_HEADER_SIZE 1000</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_MCC_DEFAULT_NB_RECORDS 10</td><td> </td><td class="rblock">#define OPJ_J2K_MCC_DEFAULT_NB_RECORDS 10</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_MCT_DEFAULT_NB_RECORDS 10</td><td> </td><td class="rblock">#define OPJ_J2K_MCT_DEFAULT_NB_RECORDS 10</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></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" valign="top"></td></tr>
+ <tr><td><a name="diff0011" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define JPWL_MAX_NO_TILESPECS 16 /**< Maximum number of tile parts <span class="delete">expecte</span></td><td> </td><td class="rblock">#define JPWL_MAX_NO_TILESPECS 16 /**< Maximum number of tile parts <span class="insert">expect</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">d</span> by JPWL: increase at your will */</td><td> </td><td class="rblock"><span class="insert">ed</span> by JPWL: increase at your will */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define JPWL_MAX_NO_PACKSPECS 16 /**< Maximum number of packet parts <span class="delete">expec</span></td><td> </td><td class="rblock">#define JPWL_MAX_NO_PACKSPECS 16 /**< Maximum number of packet parts <span class="insert">expe</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ted</span> by JPWL: increase at your will */</td><td> </td><td class="rblock"><span class="insert">cted</span> by JPWL: increase at your will */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define JPWL_MAX_NO_MARKERS 512 /**< Maximum number of JPWL markers: <span class="delete">inc</span></td><td> </td><td class="rblock">#define JPWL_MAX_NO_MARKERS 512 /**< Maximum number of JPWL markers: <span class="insert">increa</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">rease</span> at your will */</td><td> </td><td class="rblock"><span class="insert">se</span> at your will */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define JPWL_PRIVATEINDEX_NAME "jpwl_index_privatefilename" /**< index file
+ name used when JPWL is on */</td><td> </td><td class="right">#define JPWL_PRIVATEINDEX_NAME "jpwl_index_privatefilename" /**< index file
+ name used when JPWL is on */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define JPWL_EXPECTED_COMPONENTS 3 /**< Expect this number of components, s
+o you'll find better the first EPB */</td><td> </td><td class="right">#define JPWL_EXPECTED_COMPONENTS 3 /**< Expect this number of components, s
+o you'll find better the first EPB */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define JPWL_MAXIMUM_TILES 8192 /**< Expect this maximum number of tiles, t
+o avoid some crashes */</td><td> </td><td class="right">#define JPWL_MAXIMUM_TILES 8192 /**< Expect this maximum number of tiles, t
+o avoid some crashes */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define JPWL_MAXIMUM_HAMMING 2 /**< Expect this maximum number of bit error
+s in marker id's */</td><td> </td><td class="right">#define JPWL_MAXIMUM_HAMMING 2 /**< Expect this maximum number of bit error
+s in marker id's */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define JPWL_MAXIMUM_EPB_ROOM 65450 /**< Expect this maximum number of byte
+s for composition of EPBs */</td><td> </td><td class="right">#define JPWL_MAXIMUM_EPB_ROOM 65450 /**< Expect this maximum number of byte
+s for composition of EPBs */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* <<UniPG */</td><td> </td><td class="right">/* <<UniPG */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * EXPERIMENTAL FOR THE MOMENT</td><td> </td><td class="right"> * EXPERIMENTAL FOR THE MOMENT</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Supported options about file information used only in j2k_dump</td><td> </td><td class="right"> * Supported options about file information used only in j2k_dump</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0012" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_IMG_INFO 1 /**< Basic image information <span class="delete">provide</span></td><td> </td><td class="rblock">#define OPJ_IMG_INFO 1 /**< Basic image information <span class="insert">provided</span> to <span class="insert">th</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">d</span> to <span class="delete">the</span> user */</td><td> </td><td class="rblock"><span class="insert">e</span> user */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_MH_INFO 2 /**< Codestream information </td><td> </td><td class="rblock">#define OPJ_J2K_MH_INFO 2 /**< Codestream information based only on <span class="insert">t</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">based only on <span class="delete">the</span> main header */</td><td> </td><td class="rblock"><span class="insert">he</span> main header */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_TH_INFO 4 /**< Tile information based </td><td> </td><td class="rblock">#define OPJ_J2K_TH_INFO 4 /**< Tile information based on the current </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">on the current tile header */</td><td> </td><td class="rblock">tile header */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_TCH_INFO 8 /**< Tile/Component information of <span class="delete">a</span></td><td> </td><td class="rblock">#define OPJ_J2K_TCH_INFO 8 /**< Tile/Component information of <span class="insert">all tile</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ll tiles</span> */</td><td> </td><td class="rblock"><span class="insert">s</span> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_MH_IND 16 /**< Codestream index based only on </td><td> </td><td class="rblock">#define OPJ_J2K_MH_IND 16 /**< Codestream index based only on the <span class="insert">mai</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">the <span class="delete">main</span> header */</td><td> </td><td class="rblock"><span class="insert">n</span> header */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_TH_IND 32 /**< Tile index based on the current</td><td> </td><td class="rblock">#define OPJ_J2K_TH_IND 32 /**< Tile index based on the current tile <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> tile <span class="delete">*/</span></td><td> </td><td class="rblock"><span class="insert">/</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">/*FIXME #define OPJ_J2K_CSTR_IND 48*/ /**< */</td><td> </td><td class="rblock">/*FIXME #define OPJ_J2K_CSTR_IND 48*/ /**< */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_JP2_INFO 128 /**< JP2 file information */</td><td> </td><td class="rblock">#define OPJ_JP2_INFO 128 /**< JP2 file information */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_JP2_IND 256 /**< JP2 file index */</td><td> </td><td class="rblock">#define OPJ_JP2_IND 256 /**< JP2 file index */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * JPEG 2000 Profiles, see Table A.10 from 15444-1 (updated in various AMD)</td><td> </td><td class="right"> * JPEG 2000 Profiles, see Table A.10 from 15444-1 (updated in various AMD)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0013" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * These values help chosing the RSIZ value for the J2K codestream.</td><td> </td><td class="rblock"> * These values help cho<span class="insert">o</span>sing the RSIZ value for the J2K codestream.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * The RSIZ value triggers various encoding options, as detailed in Table A
+.10.</td><td> </td><td class="right"> * The RSIZ value triggers various encoding options, as detailed in Table A
+.10.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * If OPJ_PROFILE_PART2 is chosen, it has to be combined with one or more e
+xtensions</td><td> </td><td class="right"> * If OPJ_PROFILE_PART2 is chosen, it has to be combined with one or more e
+xtensions</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * described hereunder.</td><td> </td><td class="right"> * described hereunder.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Example: rsiz = OPJ_PROFILE_PART2 | OPJ_EXTENSION_MCT;</td><td> </td><td class="right"> * Example: rsiz = OPJ_PROFILE_PART2 | OPJ_EXTENSION_MCT;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * For broadcast profiles, the OPJ_PROFILE value has to be combined with th
+e targeted</td><td> </td><td class="right"> * For broadcast profiles, the OPJ_PROFILE value has to be combined with th
+e targeted</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * mainlevel (3-0 LSB, value between 0 and 11):</td><td> </td><td class="right"> * mainlevel (3-0 LSB, value between 0 and 11):</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Example: rsiz = OPJ_PROFILE_BC_MULTI | 0x0005; (here mainlevel 5)</td><td> </td><td class="right"> * Example: rsiz = OPJ_PROFILE_BC_MULTI | 0x0005; (here mainlevel 5)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * For IMF profiles, the OPJ_PROFILE value has to be combined with the targ
+eted mainlevel</td><td> </td><td class="right"> * For IMF profiles, the OPJ_PROFILE value has to be combined with the targ
+eted mainlevel</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * (3-0 LSB, value between 0 and 11) and sublevel (7-4 LSB, value between 0
+ and 9):</td><td> </td><td class="right"> * (3-0 LSB, value between 0 and 11) and sublevel (7-4 LSB, value between 0
+ and 9):</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Example: rsiz = OPJ_PROFILE_IMF_2K | 0x0040 | 0x0005; (here main 5 and
+ sublevel 4)</td><td> </td><td class="right"> * Example: rsiz = OPJ_PROFILE_IMF_2K | 0x0040 | 0x0005; (here main 5 and
+ sublevel 4)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> line 230</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> line 230</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_IS_CINEMA(v) (((v) >= OPJ_PROFILE_CINEMA_2K)&&((v) <= OPJ_P
+ROFILE_CINEMA_S4K))</td><td> </td><td class="right">#define OPJ_IS_CINEMA(v) (((v) >= OPJ_PROFILE_CINEMA_2K)&&((v) <= OPJ_P
+ROFILE_CINEMA_S4K))</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_IS_STORAGE(v) ((v) == OPJ_PROFILE_CINEMA_LTS)</td><td> </td><td class="right">#define OPJ_IS_STORAGE(v) ((v) == OPJ_PROFILE_CINEMA_LTS)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_IS_BROADCAST(v) (((v) >= OPJ_PROFILE_BC_SINGLE)&&((v) <= ((OPJ
+_PROFILE_BC_MULTI_R) | (0x000b))))</td><td> </td><td class="right">#define OPJ_IS_BROADCAST(v) (((v) >= OPJ_PROFILE_BC_SINGLE)&&((v) <= ((OPJ
+_PROFILE_BC_MULTI_R) | (0x000b))))</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_IS_IMF(v) (((v) >= OPJ_PROFILE_IMF_2K)&&((v) <= ((OPJ_PR
+OFILE_IMF_8K_R) | (0x009b))))</td><td> </td><td class="right">#define OPJ_IS_IMF(v) (((v) >= OPJ_PROFILE_IMF_2K)&&((v) <= ((OPJ_PR
+OFILE_IMF_8K_R) | (0x009b))))</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_IS_PART2(v) ((v) & OPJ_PROFILE_PART2)</td><td> </td><td class="right">#define OPJ_IS_PART2(v) ((v) & OPJ_PROFILE_PART2)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * JPEG 2000 codestream and component size limits in cinema profiles</td><td> </td><td class="right"> * JPEG 2000 codestream and component size limits in cinema profiles</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0014" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_CINEMA_24_CS 1302083 <span class="delete"> /** Maximum codestream lengt
+h for 2</span>4fps */</td><td> </td><td class="rblock">#define OPJ_CINEMA_24_CS 1302083 <span class="insert">/** Maximum codestream length for 2
+</span>4fps */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_CINEMA_48_CS 651041 /** Maximum codestream length for 4
+8fps */</td><td> </td><td class="right">#define OPJ_CINEMA_48_CS 651041 /** Maximum codestream length for 4
+8fps */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_CINEMA_24_COMP 1041666 /** Maximum size per color componen
+t for 2K & 4K @ 24fps */</td><td> </td><td class="right">#define OPJ_CINEMA_24_COMP 1041666 /** Maximum size per color componen
+t for 2K & 4K @ 24fps */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0015" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_CINEMA_48_COMP 520833 <span class="delete"> /** Maximum size per color c
+omponen</span>t for 2K @ 48fps */</td><td> </td><td class="rblock">#define OPJ_CINEMA_48_COMP 520833 <span class="insert">/** Maximum size per color componen
+</span>t for 2K @ 48fps */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> enum definitions</td><td> </td><td class="right"> enum definitions</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead</td><td> </td><td class="right"> * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Rsiz Capabilities</td><td> </td><td class="right"> * Rsiz Capabilities</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef enum RSIZ_CAPABILITIES {</td><td> </td><td class="right">typedef enum RSIZ_CAPABILITIES {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0016" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_STD_RSIZ = 0, /** Standard JPEG2000 profile*/</td><td> </td><td class="rblock"> OPJ_STD_RSIZ = 0, /** Standard JPEG2000 profile*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CINEMA2K = 3, /** Profile name for a 2K image*/</td><td> </td><td class="rblock"> OPJ_CINEMA2K = 3, /** Profile name for a 2K image*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CINEMA4K = 4, /** Profile name for a 4K image*/</td><td> </td><td class="rblock"> OPJ_CINEMA4K = 4, /** Profile name for a 4K image*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_MCT = 0x8100</td><td> </td><td class="right"> OPJ_MCT = 0x8100</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} OPJ_RSIZ_CAPABILITIES;</td><td> </td><td class="right">} OPJ_RSIZ_CAPABILITIES;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead</td><td> </td><td class="right"> * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Digital cinema operation mode</td><td> </td><td class="right"> * Digital cinema operation mode</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef enum CINEMA_MODE {</td><td> </td><td class="right">typedef enum CINEMA_MODE {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0017" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_OFF = 0, /** Not Digital Cinema*/</td><td> </td><td class="rblock"> OPJ_OFF = 0, /** Not Digital Cinema*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CINEMA2K_24 = 1, /** 2K Digital Cinema at 24 fps*/</td><td> </td><td class="rblock"> OPJ_CINEMA2K_24 = 1, /** 2K Digital Cinema at 24 fps*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CINEMA2K_48 = 2, /** 2K Digital Cinema at 48 fps*/</td><td> </td><td class="rblock"> OPJ_CINEMA2K_48 = 2, /** 2K Digital Cinema at 48 fps*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CINEMA4K_24 = 3 /** 4K Digital Cinema at 24 fps*/</td><td> </td><td class="rblock"> OPJ_CINEMA4K_24 = 3 /** 4K Digital Cinema at 24 fps*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">}OPJ_CINEMA_MODE;</span></td><td> </td><td class="rblock"><span class="insert">} OPJ_CINEMA_MODE;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Progression order</td><td> </td><td class="right"> * Progression order</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef enum PROG_ORDER {</td><td> </td><td class="right">typedef enum PROG_ORDER {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0018" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_PROG_UNKNOWN = -1, /**< place-holder */</td><td> </td><td class="rblock"> OPJ_PROG_UNKNOWN = -1, /**< place-holder */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_LRCP = 0, /**< <span class="delete">layer-resolution-component-prec</span></td><td> </td><td class="rblock"> OPJ_LRCP = 0, /**< <span class="insert">layer-resolution-component-precinct</span> order </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">inct</span> order */</td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_RLCP = 1, /**< <span class="delete">resolution-layer-component-prec</span></td><td> </td><td class="rblock"> OPJ_RLCP = 1, /**< <span class="insert">resolution-layer-component-precinct</span> order </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">inct</span> order */</td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_RPCL = 2, /**< <span class="delete">resolution-precinct-component-l</span></td><td> </td><td class="rblock"> OPJ_RPCL = 2, /**< <span class="insert">resolution-precinct-component-layer</span> order </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ayer</span> order */</td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_PCRL = 3, /**< <span class="delete">precinct-component-resolution-l</span></td><td> </td><td class="rblock"> OPJ_PCRL = 3, /**< <span class="insert">precinct-component-resolution-layer</span> order </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ayer</span> order */</td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CPRL = 4 /**< <span class="delete">component-precinct-resolution-l</span></td><td> </td><td class="rblock"> OPJ_CPRL = 4 /**< <span class="insert">component-precinct-resolution-layer</span> order </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ayer</span> order */</td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} OPJ_PROG_ORDER;</td><td> </td><td class="right">} OPJ_PROG_ORDER;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Supported image color spaces</td><td> </td><td class="right"> * Supported image color spaces</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef enum COLOR_SPACE {</td><td> </td><td class="right">typedef enum COLOR_SPACE {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0019" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CLRSPC_UNKNOWN = -1, /**< not supported by the library */</td><td> </td><td class="rblock"> OPJ_CLRSPC_UNKNOWN = -1, /**< not supported by the library */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CLRSPC_UNSPECIFIED = 0, /**< not specified in the codestream</td><td> </td><td class="rblock"> OPJ_CLRSPC_UNSPECIFIED = 0, /**< not specified in the codestream */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> */</td><td> </td><td class="rblock"> OPJ_CLRSPC_SRGB = 1, /**< sRGB */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CLRSPC_SRGB = 1, /**< sRGB */</td><td> </td><td class="rblock"> OPJ_CLRSPC_GRAY = 2, /**< grayscale */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CLRSPC_GRAY = 2, /**< grayscale */</td><td> </td><td class="rblock"> OPJ_CLRSPC_SYCC = 3, /**< YUV */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CLRSPC_SYCC = 3, /**< YUV */</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_CLRSPC_EYCC = 4, /**< e-YCC */</td><td> </td><td class="right"> OPJ_CLRSPC_EYCC = 4, /**< e-YCC */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_CLRSPC_CMYK = 5 /**< CMYK */</td><td> </td><td class="right"> OPJ_CLRSPC_CMYK = 5 /**< CMYK */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} OPJ_COLOR_SPACE;</td><td> </td><td class="right">} OPJ_COLOR_SPACE;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Supported codec</td><td> </td><td class="right"> * Supported codec</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef enum CODEC_FORMAT {</td><td> </td><td class="right">typedef enum CODEC_FORMAT {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0020" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CODEC_UNKNOWN = -1, /**< place-holder */</td><td> </td><td class="rblock"> OPJ_CODEC_UNKNOWN = -1, /**< place-holder */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CODEC_J2K = 0, /**< JPEG-2000 codestream : <span class="delete">read/wri</span></td><td> </td><td class="rblock"> OPJ_CODEC_J2K = 0, /**< JPEG-2000 codestream : <span class="insert">read/write</span> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">te</span> */</td><td> </td><td class="rblock"> OPJ_CODEC_JPT = 1, /**< JPT-stream (JPEG 2000, JPIP) : read only <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CODEC_JPT = 1, /**< JPT-stream (JPEG 2000, JPIP) : </td><td> </td><td class="rblock"><span class="insert">/</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">read only <span class="delete">*/</span></td><td> </td><td class="rblock"> OPJ_CODEC_JP2 = 2, /**< JP2 file format : read/write */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CODEC_JP2 = 2, /**< JP2 file format : read/write */</td><td> </td><td class="rblock"> OPJ_CODEC_JPP = 3, /**< JPP-stream (JPEG 2000, JPIP) : to be coded</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CODEC_JPP = 3, /**< JPP-stream (JPEG 2000, JPIP) : </td><td> </td><td class="rblock"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">to be coded */</td><td> </td><td class="rblock"> OPJ_CODEC_JPX = 4 /**< JPX file format (JPEG 2000 Part-2) : to be</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CODEC_JPX = 4 /**< JPX file format (JPEG 2000 Part-2) : to</td><td> </td><td class="rblock"> coded */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> be coded */</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} OPJ_CODEC_FORMAT;</td><td> </td><td class="right">} OPJ_CODEC_FORMAT;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> event manager typedef definitions</td><td> </td><td class="right"> event manager typedef definitions</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Callback function prototype for events</td><td> </td><td class="right"> * Callback function prototype for events</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param msg Event message</td><td> </td><td class="right"> * @param msg Event message</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param client_data Client object where will be return the event me
+ssage</td><td> </td><td class="right"> * @param client_data Client object where will be return the event me
+ssage</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0021" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">typedef void (*opj_msg_callback)<span class="delete"> </span>(const char *msg, void *client_data);</td><td> </td><td class="rblock">typedef void (*opj_msg_callback)(const char *msg, void *client_data);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> codec typedef definitions</td><td> </td><td class="right"> codec typedef definitions</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Progression order changes</td><td> </td><td class="right"> * Progression order changes</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_poc {</td><td> </td><td class="right">typedef struct opj_poc {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0022" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Resolution num start, Component num start, given by POC */</td><td> </td><td class="rblock"> /** Resolution num start, Component num start, given by POC */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 resno0, compno0;</td><td> </td><td class="rblock"> OPJ_UINT32 resno0, compno0;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Layer num end,Resolution num end, Component num end, given by <span class="delete">PO</span></td><td> </td><td class="rblock"> /** Layer num end,Resolution num end, Component num end, given by <span class="insert">POC *</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">C */</span></td><td> </td><td class="rblock"><span class="insert">/</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 layno1, resno1, compno1;</td><td> </td><td class="rblock"> OPJ_UINT32 layno1, resno1, compno1;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Layer num start,Precinct num start, Precinct num end */</td><td> </td><td class="rblock"> /** Layer num start,Precinct num start, Precinct num end */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 layno0, precno0, precno1;</td><td> </td><td class="rblock"> OPJ_UINT32 layno0, precno0, precno1;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Progression order enum*/</td><td> </td><td class="rblock"> /** Progression order enum*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_PROG_ORDER <span class="delete">prg1,prg;</span></td><td> </td><td class="rblock"> OPJ_PROG_ORDER <span class="insert">prg1, prg;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Progression order string*/</td><td> </td><td class="rblock"> /** Progression order string*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_CHAR progorder[5];</td><td> </td><td class="rblock"> OPJ_CHAR progorder[5];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Tile number */</td><td> </td><td class="rblock"> /** Tile number */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 tile;</td><td> </td><td class="rblock"> OPJ_UINT32 tile;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Start and end values for Tile width and height*/</td><td> </td><td class="rblock"> /** Start and end values for Tile width and height*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_INT32 <span class="delete">tx0,tx1,ty0,ty1;</span></td><td> </td><td class="rblock"> OPJ_INT32 <span class="insert">tx0, tx1, ty0, ty1;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Start value, initialised in pi_initialise_encode*/</td><td> </td><td class="rblock"> /** Start value, initialised in pi_initialise_encode*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 layS, resS, compS, prcS;</td><td> </td><td class="rblock"> OPJ_UINT32 layS, resS, compS, prcS;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** End value, initialised in pi_initialise_encode */</td><td> </td><td class="rblock"> /** End value, initialised in pi_initialise_encode */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 layE, resE, compE, prcE;</td><td> </td><td class="rblock"> OPJ_UINT32 layE, resE, compE, prcE;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Start and end values of Tile width and height, initialised in <span class="delete">pi</span></td><td> </td><td class="rblock"> /** Start and end values of Tile width and height, initialised in <span class="insert">pi_in</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">_initialise_encode*/</span></td><td> </td><td class="rblock"><span class="insert">itialise_encode*/</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 <span class="delete">txS,txE,tyS,tyE,dx,dy;</span></td><td> </td><td class="rblock"> OPJ_UINT32 <span class="insert">txS, txE, tyS, tyE, dx, dy;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Temporary values for Tile parts, initialised in pi_create_encode</td><td> </td><td class="rblock"> /** Temporary values for Tile parts, initialised in pi_create_encode */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> */</td><td> </td><td class="rblock"> OPJ_UINT32 lay_t, res_t, comp_t, <span class="insert">prc_t, tx0_t, ty0_t;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 lay_t, res_t, comp_t, <span class="delete">prc_t,tx0_t,ty0_t;</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_poc_t;</td><td> </td><td class="right">} opj_poc_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Compression parameters</td><td> </td><td class="right"> * Compression parameters</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_cparameters {</td><td> </td><td class="right">typedef struct opj_cparameters {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0023" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** size of tile: tile_size_on = false (not in argument) or = true <span class="delete">(</span></td><td> </td><td class="rblock"> /** size of tile: tile_size_on = false (not in argument) or = true <span class="insert">(in</span> </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">in</span> argument) */</td><td> </td><td class="rblock">argument) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_BOOL tile_size_on;</td><td> </td><td class="rblock"> OPJ_BOOL tile_size_on;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** XTOsiz */</td><td> </td><td class="rblock"> /** XTOsiz */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int cp_tx0;</td><td> </td><td class="rblock"> int cp_tx0;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** YTOsiz */</td><td> </td><td class="rblock"> /** YTOsiz */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int cp_ty0;</td><td> </td><td class="rblock"> int cp_ty0;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** XTsiz */</td><td> </td><td class="rblock"> /** XTsiz */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int cp_tdx;</td><td> </td><td class="rblock"> int cp_tdx;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** YTsiz */</td><td> </td><td class="rblock"> /** YTsiz */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int cp_tdy;</td><td> </td><td class="rblock"> int cp_tdy;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** allocation by rate/distortion */</td><td> </td><td class="rblock"> /** allocation by rate/distortion */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int cp_disto_alloc;</td><td> </td><td class="rblock"> int cp_disto_alloc;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** allocation by fixed layer */</td><td> </td><td class="rblock"> /** allocation by fixed layer */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int cp_fixed_alloc;</td><td> </td><td class="rblock"> int cp_fixed_alloc;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** add fixed_quality */</td><td> </td><td class="rblock"> /** add fixed_quality */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int cp_fixed_quality;</td><td> </td><td class="rblock"> int cp_fixed_quality;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** fixed layer */</td><td> </td><td class="rblock"> /** fixed layer */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int *cp_matrice;</td><td> </td><td class="rblock"> int *cp_matrice;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** comment for coding */</td><td> </td><td class="rblock"> /** comment for coding */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> char *cp_comment;</td><td> </td><td class="rblock"> char *cp_comment;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** csty : coding style */</td><td> </td><td class="rblock"> /** csty : coding style */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int csty;</td><td> </td><td class="rblock"> int csty;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** progression order (default OPJ_LRCP) */</td><td> </td><td class="rblock"> /** progression order (default OPJ_LRCP) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_PROG_ORDER prog_order;</td><td> </td><td class="rblock"> OPJ_PROG_ORDER prog_order;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** progression order changes */</td><td> </td><td class="rblock"> /** progression order changes */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_poc_t POC[32];</td><td> </td><td class="rblock"> opj_poc_t POC[32];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of progression order changes (POC), default to 0 */</td><td> </td><td class="rblock"> /** number of progression order changes (POC), default to 0 */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 numpocs;</td><td> </td><td class="rblock"> OPJ_UINT32 numpocs;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of layers */</td><td> </td><td class="rblock"> /** number of layers */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int tcp_numlayers;</td><td> </td><td class="rblock"> int tcp_numlayers;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> /** rates of layers - might be subsequently limited by the max_cs_size
+field */</td><td> </td><td class="right"> /** rates of layers - might be subsequently limited by the max_cs_size
+field */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0024" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> float tcp_rates[100];</td><td> </td><td class="rblock"> float tcp_rates[100];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** different psnr for successive layers */</td><td> </td><td class="rblock"> /** different psnr for successive layers */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> float tcp_distoratio[100];</td><td> </td><td class="rblock"> float tcp_distoratio[100];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of resolutions */</td><td> </td><td class="rblock"> /** number of resolutions */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int numresolution;</td><td> </td><td class="rblock"> int numresolution;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** initial code block width, default to 64 */</td><td> </td><td class="rblock"> /** initial code block width, default to 64 */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int cblockw_init;</td><td> </td><td class="rblock"> int cblockw_init;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** initial code block height, default to 64 */</td><td> </td><td class="rblock"> /** initial code block height, default to 64 */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int cblockh_init;</td><td> </td><td class="rblock"> int cblockh_init;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** mode switch (cblk_style) */</td><td> </td><td class="rblock"> /** mode switch (cblk_style) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int mode;</td><td> </td><td class="rblock"> int mode;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** 1 : use the irreversible DWT 9-7, 0 : use lossless compression <span class="delete">(</span></td><td> </td><td class="rblock"> /** 1 : use the irreversible DWT 9-7, 0 : use lossless compression <span class="insert">(def</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">default)</span> */</td><td> </td><td class="rblock"><span class="insert">ault)</span> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int irreversible;</td><td> </td><td class="rblock"> int irreversible;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** region of interest: affected component in [0..3], -1 means no <span class="delete">RO</span></td><td> </td><td class="rblock"> /** region of interest: affected component in [0..3], -1 means no <span class="insert">ROI *</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">I */</span></td><td> </td><td class="rblock"><span class="insert">/</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int roi_compno;</td><td> </td><td class="rblock"> int roi_compno;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** region of interest: upshift value */</td><td> </td><td class="rblock"> /** region of interest: upshift value */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int roi_shift;</td><td> </td><td class="rblock"> int roi_shift;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /* number of precinct size specifications */</td><td> </td><td class="rblock"> /* number of precinct size specifications */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int res_spec;</td><td> </td><td class="rblock"> int res_spec;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** initial precinct width */</td><td> </td><td class="rblock"> /** initial precinct width */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int prcw_init[OPJ_J2K_MAXRLVLS];</td><td> </td><td class="rblock"> int prcw_init[OPJ_J2K_MAXRLVLS];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** initial precinct height */</td><td> </td><td class="rblock"> /** initial precinct height */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int prch_init[OPJ_J2K_MAXRLVLS];</td><td> </td><td class="rblock"> int prch_init[OPJ_J2K_MAXRLVLS];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0025" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /**@name command line encoder parameters (not used inside the <span class="delete">librar</span></td><td> </td><td class="rblock"> /**@name command line encoder parameters (not used inside the <span class="insert">library)</span> </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">y)</span> */</td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /*@{*/</td><td> </td><td class="rblock"> /*@{*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** input file name */</td><td> </td><td class="rblock"> /** input file name */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> char infile[OPJ_PATH_LEN];</td><td> </td><td class="rblock"> char infile[OPJ_PATH_LEN];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** output file name */</td><td> </td><td class="rblock"> /** output file name */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> char outfile[OPJ_PATH_LEN];</td><td> </td><td class="rblock"> char outfile[OPJ_PATH_LEN];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** DEPRECATED. Index generation is now handeld with the <span class="delete">opj_encode_</span></td><td> </td><td class="rblock"> /** DEPRECATED. Index generation is now handeld with the <span class="insert">opj_encode_wit</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">with_info()</span> function. Set to NULL */</td><td> </td><td class="rblock"><span class="insert">h_info()</span> function. Set to NULL */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int index_on;</td><td> </td><td class="rblock"> int index_on;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** DEPRECATED. Index generation is now handeld with the <span class="delete">opj_encode_</span></td><td> </td><td class="rblock"> /** DEPRECATED. Index generation is now handeld with the <span class="insert">opj_encode_wit</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">with_info()</span> function. Set to NULL */</td><td> </td><td class="rblock"><span class="insert">h_info()</span> function. Set to NULL */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> char index[OPJ_PATH_LEN];</td><td> </td><td class="rblock"> char index[OPJ_PATH_LEN];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** subimage encoding: origin image offset in x direction */</td><td> </td><td class="rblock"> /** subimage encoding: origin image offset in x direction */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int image_offset_x0;</td><td> </td><td class="rblock"> int image_offset_x0;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** subimage encoding: origin image offset in y direction */</td><td> </td><td class="rblock"> /** subimage encoding: origin image offset in y direction */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int image_offset_y0;</td><td> </td><td class="rblock"> int image_offset_y0;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** subsampling value for dx */</td><td> </td><td class="rblock"> /** subsampling value for dx */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int subsampling_dx;</td><td> </td><td class="rblock"> int subsampling_dx;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** subsampling value for dy */</td><td> </td><td class="rblock"> /** subsampling value for dy */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int subsampling_dy;</td><td> </td><td class="rblock"> int subsampling_dy;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** input file format 0: PGX, 1: PxM, 2: BMP 3:TIF*/</td><td> </td><td class="rblock"> /** input file format 0: PGX, 1: PxM, 2: BMP 3:TIF*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int decod_format;</td><td> </td><td class="rblock"> int decod_format;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** output file format 0: J2K, 1: JP2, 2: JPT */</td><td> </td><td class="rblock"> /** output file format 0: J2K, 1: JP2, 2: JPT */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int cod_format;</td><td> </td><td class="rblock"> int cod_format;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /*@}*/</td><td> </td><td class="rblock"> /*@}*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0026" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">/* UniPG>> */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */</td><td> </td><td class="rblock"> /* UniPG>> */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /**@name JPWL encoding parameters */</td><td> </td><td class="rblock"> /**@name JPWL encoding parameters */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /*@{*/</td><td> </td><td class="rblock"> /*@{*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** enables writing of EPC in MH, thus activating JPWL */</td><td> </td><td class="rblock"> /** enables writing of EPC in MH, thus activating JPWL */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_BOOL jpwl_epc_on;</td><td> </td><td class="rblock"> OPJ_BOOL jpwl_epc_on;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** error protection method for MH (0,1,16,32,37-128) */</td><td> </td><td class="rblock"> /** error protection method for MH (0,1,16,32,37-128) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int jpwl_hprot_MH;</td><td> </td><td class="rblock"> int jpwl_hprot_MH;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** tile number of header protection specification (>=0) */</td><td> </td><td class="rblock"> /** tile number of header protection specification (>=0) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int jpwl_hprot_TPH_tileno[JPWL_MAX_NO_TILESPECS];</td><td> </td><td class="rblock"> int jpwl_hprot_TPH_tileno[JPWL_MAX_NO_TILESPECS];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** error protection methods for TPHs (0,1,16,32,37-128) */</td><td> </td><td class="rblock"> /** error protection methods for TPHs (0,1,16,32,37-128) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int jpwl_hprot_TPH[JPWL_MAX_NO_TILESPECS];</td><td> </td><td class="rblock"> int jpwl_hprot_TPH[JPWL_MAX_NO_TILESPECS];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** tile number of packet protection specification (>=0) */</td><td> </td><td class="rblock"> /** tile number of packet protection specification (>=0) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int jpwl_pprot_tileno[JPWL_MAX_NO_PACKSPECS];</td><td> </td><td class="rblock"> int jpwl_pprot_tileno[JPWL_MAX_NO_PACKSPECS];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** packet number of packet protection specification (>=0) */</td><td> </td><td class="rblock"> /** packet number of packet protection specification (>=0) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int jpwl_pprot_packno[JPWL_MAX_NO_PACKSPECS];</td><td> </td><td class="rblock"> int jpwl_pprot_packno[JPWL_MAX_NO_PACKSPECS];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** error protection methods for packets (0,1,16,32,37-128) */</td><td> </td><td class="rblock"> /** error protection methods for packets (0,1,16,32,37-128) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int jpwl_pprot[JPWL_MAX_NO_PACKSPECS];</td><td> </td><td class="rblock"> int jpwl_pprot[JPWL_MAX_NO_PACKSPECS];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** enables writing of ESD, (0=no/1/2 bytes) */</td><td> </td><td class="rblock"> /** enables writing of ESD, (0=no/1/2 bytes) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int jpwl_sens_size;</td><td> </td><td class="rblock"> int jpwl_sens_size;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** sensitivity addressing size (0=auto/2/4 bytes) */</td><td> </td><td class="rblock"> /** sensitivity addressing size (0=auto/2/4 bytes) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int jpwl_sens_addr;</td><td> </td><td class="rblock"> int jpwl_sens_addr;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** sensitivity range (0-3) */</td><td> </td><td class="rblock"> /** sensitivity range (0-3) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int jpwl_sens_range;</td><td> </td><td class="rblock"> int jpwl_sens_range;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** sensitivity method for MH (-1=no,0-7) */</td><td> </td><td class="rblock"> /** sensitivity method for MH (-1=no,0-7) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int jpwl_sens_MH;</td><td> </td><td class="rblock"> int jpwl_sens_MH;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** tile number of sensitivity specification (>=0) */</td><td> </td><td class="rblock"> /** tile number of sensitivity specification (>=0) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int jpwl_sens_TPH_tileno[JPWL_MAX_NO_TILESPECS];</td><td> </td><td class="rblock"> int jpwl_sens_TPH_tileno[JPWL_MAX_NO_TILESPECS];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** sensitivity methods for TPHs (-1=no,0-7) */</td><td> </td><td class="rblock"> /** sensitivity methods for TPHs (-1=no,0-7) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int jpwl_sens_TPH[JPWL_MAX_NO_TILESPECS];</td><td> </td><td class="rblock"> int jpwl_sens_TPH[JPWL_MAX_NO_TILESPECS];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /*@}*/</td><td> </td><td class="rblock"> /*@}*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">/* <<UniPG */</td><td> </td><td class="rblock"> /* <<UniPG */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> /**</td><td> </td><td class="right"> /**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * DEPRECATED: use RSIZ, OPJ_PROFILE_* and MAX_COMP_SIZE instead</td><td> </td><td class="right"> * DEPRECATED: use RSIZ, OPJ_PROFILE_* and MAX_COMP_SIZE instead</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Digital Cinema compliance 0-not compliant, 1-compliant</td><td> </td><td class="right"> * Digital Cinema compliance 0-not compliant, 1-compliant</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_CINEMA_MODE cp_cinema;</td><td> </td><td class="right"> OPJ_CINEMA_MODE cp_cinema;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> /**</td><td> </td><td class="right"> /**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Maximum size (in bytes) for each component.</td><td> </td><td class="right"> * Maximum size (in bytes) for each component.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * If == 0, component size limitation is not considered</td><td> </td><td class="right"> * If == 0, component size limitation is not considered</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0027" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> </span>int max_comp_size;</td><td> </td><td class="rblock"> int max_comp_size;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> /**</td><td> </td><td class="right"> /**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead</td><td> </td><td class="right"> * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Profile name</td><td> </td><td class="right"> * Profile name</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_RSIZ_CAPABILITIES cp_rsiz;</td><td> </td><td class="right"> OPJ_RSIZ_CAPABILITIES cp_rsiz;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0028" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Tile part generation*/</td><td> </td><td class="rblock"> /** Tile part generation*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> char tp_on;</td><td> </td><td class="rblock"> char tp_on;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Flag for Tile part generation*/</td><td> </td><td class="rblock"> /** Flag for Tile part generation*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> char tp_flag;</td><td> </td><td class="rblock"> char tp_flag;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** MCT (multiple component transform) */</td><td> </td><td class="rblock"> /** MCT (multiple component transform) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> char tcp_mct;</td><td> </td><td class="rblock"> char tcp_mct;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Enable JPIP indexing*/</td><td> </td><td class="rblock"> /** Enable JPIP indexing*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_BOOL jpip_on;</td><td> </td><td class="rblock"> OPJ_BOOL jpip_on;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Naive implementation of MCT restricted to a single reversible <span class="delete">ar</span></td><td> </td><td class="rblock"> /** Naive implementation of MCT restricted to a single reversible <span class="insert">array</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ray</span> based</td><td> </td><td class="rblock"> based</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> encoding without offset concerning all the components. */</td><td> </td><td class="right"> encoding without offset concerning all the components. */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0029" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> </span>void * mct_data;</td><td> </td><td class="rblock"> void * mct_data;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> /**</td><td> </td><td class="right"> /**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Maximum size (in bytes) for the whole codestream.</td><td> </td><td class="right"> * Maximum size (in bytes) for the whole codestream.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * If == 0, codestream size limitation is not considered</td><td> </td><td class="right"> * If == 0, codestream size limitation is not considered</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * If it does not comply with tcp_rates, max_cs_size prevails</td><td> </td><td class="right"> * If it does not comply with tcp_rates, max_cs_size prevails</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * and a warning is issued.</td><td> </td><td class="right"> * and a warning is issued.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> int max_cs_size;</td><td> </td><td class="right"> int max_cs_size;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> /** RSIZ value</td><td> </td><td class="right"> /** RSIZ value</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> To be used to combine OPJ_PROFILE_*, OPJ_EXTENSION_* and (sub)level
+s values. */</td><td> </td><td class="right"> To be used to combine OPJ_PROFILE_*, OPJ_EXTENSION_* and (sub)level
+s values. */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_UINT16 rsiz;</td><td> </td><td class="right"> OPJ_UINT16 rsiz;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_cparameters_t;</td><td> </td><td class="right">} opj_cparameters_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0030" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG 0x0001</td><td> </td><td class="rblock">#define OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG 0x0001</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_DPARAMETERS_DUMP_FLAG 0x0002</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Decompression parameters</td><td> </td><td class="right"> * Decompression parameters</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_dparameters {</td><td> </td><td class="right">typedef struct opj_dparameters {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0031" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /**</td><td> </td><td class="rblock"> /**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> Set the number of highest resolution levels to be discarded.</td><td> </td><td class="rblock"> Set the number of highest resolution levels to be discarded.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> The image resolution is effectively divided by 2 to the power of the</td><td> </td><td class="rblock"> The image resolution is effectively divided by 2 to the power of the <span class="insert">nu</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">number</span> of discarded levels.</td><td> </td><td class="rblock"><span class="insert">mber</span> of discarded levels.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> The reduce factor is limited by the smallest total number of <span class="delete">decompo</span></td><td> </td><td class="rblock"> The reduce factor is limited by the smallest total number of <span class="insert">decomposit</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">sition</span> levels among tiles.</td><td> </td><td class="rblock"><span class="insert">ion</span> levels among tiles.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> if != 0, then original dimension divided by 2^(reduce);</td><td> </td><td class="rblock"> if != 0, then original dimension divided by 2^(reduce);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> if == 0 or not used, image is decoded to the full resolution</td><td> </td><td class="rblock"> if == 0 or not used, image is decoded to the full resolution</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> */</td><td> </td><td class="rblock"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 cp_reduce;</td><td> </td><td class="rblock"> OPJ_UINT32 cp_reduce;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /**</td><td> </td><td class="rblock"> /**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> Set the maximum number of quality layers to decode.</td><td> </td><td class="rblock"> Set the maximum number of quality layers to decode.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> If there are less quality layers than the specified number, all the </td><td> </td><td class="rblock"> If there are less quality layers than the specified number, all the <span class="insert">qua</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">quality</span> layers are decoded.</td><td> </td><td class="rblock"><span class="insert">lity</span> layers are decoded.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> if != 0, then only the first "layer" layers are decoded;</td><td> </td><td class="rblock"> if != 0, then only the first "layer" layers are decoded;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> if == 0 or not used, all the quality layers are decoded</td><td> </td><td class="rblock"> if == 0 or not used, all the quality layers are decoded</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> */</td><td> </td><td class="rblock"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 cp_layer;</td><td> </td><td class="rblock"> OPJ_UINT32 cp_layer;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0032" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /**@name command line decoder parameters (not used inside the <span class="delete">librar</span></td><td> </td><td class="rblock"> /**@name command line decoder parameters (not used inside the <span class="insert">library)</span> </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">y)</span> */</td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /*@{*/</td><td> </td><td class="rblock"> /*@{*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** input file name */</td><td> </td><td class="rblock"> /** input file name */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> char infile[OPJ_PATH_LEN];</td><td> </td><td class="rblock"> char infile[OPJ_PATH_LEN];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** output file name */</td><td> </td><td class="rblock"> /** output file name */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> char outfile[OPJ_PATH_LEN];</td><td> </td><td class="rblock"> char outfile[OPJ_PATH_LEN];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** input file format 0: J2K, 1: JP2, 2: JPT */</td><td> </td><td class="rblock"> /** input file format 0: J2K, 1: JP2, 2: JPT */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int decod_format;</td><td> </td><td class="rblock"> int decod_format;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** output file format 0: PGX, 1: PxM, 2: BMP */</td><td> </td><td class="rblock"> /** output file format 0: PGX, 1: PxM, 2: BMP */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int cod_format;</td><td> </td><td class="rblock"> int cod_format;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0033" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Decoding area left boundary */</td><td> </td><td class="rblock"> /** Decoding area left boundary */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 DA_x0;</td><td> </td><td class="rblock"> OPJ_UINT32 DA_x0;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Decoding area right boundary */</td><td> </td><td class="rblock"> /** Decoding area right boundary */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 DA_x1;</td><td> </td><td class="rblock"> OPJ_UINT32 DA_x1;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Decoding area up boundary */</td><td> </td><td class="rblock"> /** Decoding area up boundary */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 DA_y0;</td><td> </td><td class="rblock"> OPJ_UINT32 DA_y0;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Decoding area bottom boundary */</td><td> </td><td class="rblock"> /** Decoding area bottom boundary */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 DA_y1;</td><td> </td><td class="rblock"> OPJ_UINT32 DA_y1;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Verbose mode */</td><td> </td><td class="rblock"> /** Verbose mode */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_BOOL m_verbose;</td><td> </td><td class="rblock"> OPJ_BOOL m_verbose;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0034" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** tile number ot the decoded tile*/</td><td> </td><td class="rblock"> /** tile number ot the decoded tile*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 tile_index;</td><td> </td><td class="rblock"> OPJ_UINT32 tile_index;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Nb of tile to decode */</td><td> </td><td class="rblock"> /** Nb of tile to decode */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 nb_tile_to_decode;</td><td> </td><td class="rblock"> OPJ_UINT32 nb_tile_to_decode;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0035" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> </span>/*@}*/</td><td> </td><td class="rblock"> /*@}*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0036" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">/* UniPG>> */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */</td><td> </td><td class="rblock"> /* UniPG>> */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /**@name JPWL decoding parameters */</td><td> </td><td class="rblock"> /**@name JPWL decoding parameters */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /*@{*/</td><td> </td><td class="rblock"> /*@{*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** activates the JPWL correction capabilities */</td><td> </td><td class="rblock"> /** activates the JPWL correction capabilities */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_BOOL jpwl_correct;</td><td> </td><td class="rblock"> OPJ_BOOL jpwl_correct;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** expected number of components */</td><td> </td><td class="rblock"> /** expected number of components */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int jpwl_exp_comps;</td><td> </td><td class="rblock"> int jpwl_exp_comps;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** maximum number of tiles */</td><td> </td><td class="rblock"> /** maximum number of tiles */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int jpwl_max_tiles;</td><td> </td><td class="rblock"> int jpwl_max_tiles;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /*@}*/</td><td> </td><td class="rblock"> /*@}*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">/* <<UniPG */</td><td> </td><td class="rblock"> /* <<UniPG */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0037" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> </span>unsigned int flags;</td><td> </td><td class="rblock"> unsigned int flags;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_dparameters_t;</td><td> </td><td class="right">} opj_dparameters_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * JPEG2000 codec V2.</td><td> </td><td class="right"> * JPEG2000 codec V2.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef void * opj_codec_t;</td><td> </td><td class="right">typedef void * opj_codec_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> I/O stream typedef definitions</td><td> </td><td class="right"> I/O stream typedef definitions</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Stream open flags.</td><td> </td><td class="right"> * Stream open flags.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/** The stream was opened for reading. */</td><td> </td><td class="right">/** The stream was opened for reading. */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0038" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_STREAM_READ <span class="delete"> </span>OPJ_TRUE</td><td> </td><td class="rblock">#define OPJ_STREAM_READ OPJ_TRUE</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/** The stream was opened for writing. */</td><td> </td><td class="right">/** The stream was opened for writing. */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_STREAM_WRITE OPJ_FALSE</td><td> </td><td class="right">#define OPJ_STREAM_WRITE OPJ_FALSE</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Callback function prototype for read function</td><td> </td><td class="right"> * Callback function prototype for read function</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0039" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">typedef <span class="delete">OPJ_SIZE_T (* opj_stream_read_fn) (void</span> * p_buffer, OPJ_SIZE_T <span class="delete">p_nb</span></td><td> </td><td class="rblock">typedef <span class="insert">OPJ_SIZE_T(* opj_stream_read_fn)(void</span> * p_buffer, OPJ_SIZE_T <span class="insert">p_nb_b</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">_bytes,</span> void * p_user_data) ;</td><td> </td><td class="rblock"><span class="insert">ytes,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> void * p_user_data) ;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Callback function prototype for write function</td><td> </td><td class="right"> * Callback function prototype for write function</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0040" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">typedef <span class="delete">OPJ_SIZE_T (* opj_stream_write_fn) (void</span> * p_buffer, OPJ_SIZE_T <span class="delete">p_n</span></td><td> </td><td class="rblock">typedef <span class="insert">OPJ_SIZE_T(* opj_stream_write_fn)(void</span> * p_buffer,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">b_bytes,</span> void * p_user_data) ;</td><td> </td><td class="rblock"> OPJ_SIZE_T <span class="insert">p_nb_bytes,</span> void * p_user_data) ;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Callback function prototype for skip function</td><td> </td><td class="right"> * Callback function prototype for skip function</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0041" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">typedef <span class="delete">OPJ_OFF_T (* opj_stream_skip_fn) (OPJ_OFF_T</span> p_nb_bytes, void * <span class="delete">p_us</span></td><td> </td><td class="rblock">typedef <span class="insert">OPJ_OFF_T(* opj_stream_skip_fn)(OPJ_OFF_T</span> p_nb_bytes,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">er_data)</span> ;</td><td> </td><td class="rblock"> void * <span class="insert">p_user_data)</span> ;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Callback function prototype for seek function</td><td> </td><td class="right"> * Callback function prototype for seek function</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0042" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">typedef <span class="delete">OPJ_BOOL (* opj_stream_seek_fn) (OPJ_OFF_T</span> p_nb_bytes, void * <span class="delete">p_use</span></td><td> </td><td class="rblock">typedef <span class="insert">OPJ_BOOL(* opj_stream_seek_fn)(OPJ_OFF_T</span> p_nb_bytes,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">r_data)</span> ;</td><td> </td><td class="rblock"> void * <span class="insert">p_user_data)</span> ;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Callback function prototype for free user data function</td><td> </td><td class="right"> * Callback function prototype for free user data function</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0043" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">typedef void (* opj_stream_free_user_data_fn)<span class="delete"> </span>(void * p_user_data) ;</td><td> </td><td class="rblock">typedef void (* opj_stream_free_user_data_fn)(void * p_user_data) ;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * JPEG2000 Stream.</td><td> </td><td class="right"> * JPEG2000 Stream.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef void * opj_stream_t;</td><td> </td><td class="right">typedef void * opj_stream_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> image typedef definitions</td><td> </td><td class="right"> image typedef definitions</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Defines a single image component</td><td> </td><td class="right"> * Defines a single image component</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_image_comp {</td><td> </td><td class="right">typedef struct opj_image_comp {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0044" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** XRsiz: horizontal separation of a sample of ith component with <span class="delete">r</span></td><td> </td><td class="rblock"> /** XRsiz: horizontal separation of a sample of ith component with <span class="insert">resp</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">espect</span> to the reference grid */</td><td> </td><td class="rblock"><span class="insert">ect</span> to the reference grid */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 dx;</td><td> </td><td class="rblock"> OPJ_UINT32 dx;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** YRsiz: vertical separation of a sample of ith component with <span class="delete">res</span></td><td> </td><td class="rblock"> /** YRsiz: vertical separation of a sample of ith component with <span class="insert">respec</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">pect</span> to the reference grid */</td><td> </td><td class="rblock"><span class="insert">t</span> to the reference grid */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 dy;</td><td> </td><td class="rblock"> OPJ_UINT32 dy;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** data width */</td><td> </td><td class="rblock"> /** data width */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 w;</td><td> </td><td class="rblock"> OPJ_UINT32 w;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** data height */</td><td> </td><td class="rblock"> /** data height */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 h;</td><td> </td><td class="rblock"> OPJ_UINT32 h;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** x component offset compared to the whole image */</td><td> </td><td class="rblock"> /** x component offset compared to the whole image */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 x0;</td><td> </td><td class="rblock"> OPJ_UINT32 x0;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** y component offset compared to the whole image */</td><td> </td><td class="rblock"> /** y component offset compared to the whole image */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 y0;</td><td> </td><td class="rblock"> OPJ_UINT32 y0;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** precision */</td><td> </td><td class="rblock"> /** precision */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 prec;</td><td> </td><td class="rblock"> OPJ_UINT32 prec;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** image depth in bits */</td><td> </td><td class="rblock"> /** image depth in bits */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 bpp;</td><td> </td><td class="rblock"> OPJ_UINT32 bpp;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** signed (1) / unsigned (0) */</td><td> </td><td class="rblock"> /** signed (1) / unsigned (0) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 sgnd;</td><td> </td><td class="rblock"> OPJ_UINT32 sgnd;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of decoded resolution */</td><td> </td><td class="rblock"> /** number of decoded resolution */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 resno_decoded;</td><td> </td><td class="rblock"> OPJ_UINT32 resno_decoded;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of division by 2 of the out image compared to the <span class="delete">origina</span></td><td> </td><td class="rblock"> /** number of division by 2 of the out image compared to the <span class="insert">original s</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">l size</span> of image */</td><td> </td><td class="rblock"><span class="insert">ize</span> of image */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 factor;</td><td> </td><td class="rblock"> OPJ_UINT32 factor;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** image component data */</td><td> </td><td class="rblock"> /** image component data */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_INT32 *data;</td><td> </td><td class="rblock"> OPJ_INT32 *data;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** alpha channel */</td><td> </td><td class="rblock"> /** alpha channel */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT16 alpha;</td><td> </td><td class="rblock"> OPJ_UINT16 alpha;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_image_comp_t;</td><td> </td><td class="right">} opj_image_comp_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Defines image data and characteristics</td><td> </td><td class="right"> * Defines image data and characteristics</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_image {</td><td> </td><td class="right">typedef struct opj_image {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0045" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** XOsiz: horizontal offset from the origin of the reference grid t</td><td> </td><td class="rblock"> /** XOsiz: horizontal offset from the origin of the reference grid <span class="insert">to</span> t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">o the</span> left side of the image area */</td><td> </td><td class="rblock"><span class="insert">he</span> left side of the image area */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 x0;</td><td> </td><td class="rblock"> OPJ_UINT32 x0;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** YOsiz: vertical offset from the origin of the reference grid to </td><td> </td><td class="rblock"> /** YOsiz: vertical offset from the origin of the reference grid to the</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">the top side of the image area */</td><td> </td><td class="rblock"> top side of the image area */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 y0;</td><td> </td><td class="rblock"> OPJ_UINT32 y0;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Xsiz: width of the reference grid */</td><td> </td><td class="rblock"> /** Xsiz: width of the reference grid */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 x1;</td><td> </td><td class="rblock"> OPJ_UINT32 x1;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Ysiz: height of the reference grid */</td><td> </td><td class="rblock"> /** Ysiz: height of the reference grid */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 y1;</td><td> </td><td class="rblock"> OPJ_UINT32 y1;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of components in the image */</td><td> </td><td class="rblock"> /** number of components in the image */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 numcomps;</td><td> </td><td class="rblock"> OPJ_UINT32 numcomps;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** color space: sRGB, Greyscale or YUV */</td><td> </td><td class="rblock"> /** color space: sRGB, Greyscale or YUV */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_COLOR_SPACE color_space;</td><td> </td><td class="rblock"> OPJ_COLOR_SPACE color_space;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** image components */</td><td> </td><td class="rblock"> /** image components */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_image_comp_t *comps;</td><td> </td><td class="rblock"> opj_image_comp_t *comps;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** 'restricted' ICC profile */</td><td> </td><td class="rblock"> /** 'restricted' ICC profile */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_BYTE *icc_profile_buf;</td><td> </td><td class="rblock"> OPJ_BYTE *icc_profile_buf;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** size of ICC profile */</td><td> </td><td class="rblock"> /** size of ICC profile */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 icc_profile_len;</td><td> </td><td class="rblock"> OPJ_UINT32 icc_profile_len;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_image_t;</td><td> </td><td class="right">} opj_image_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Component parameters structure used by the opj_image_create function</td><td> </td><td class="right"> * Component parameters structure used by the opj_image_create function</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_image_comptparm {</td><td> </td><td class="right">typedef struct opj_image_comptparm {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0046" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** XRsiz: horizontal separation of a sample of ith component with <span class="delete">r</span></td><td> </td><td class="rblock"> /** XRsiz: horizontal separation of a sample of ith component with <span class="insert">resp</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">espect</span> to the reference grid */</td><td> </td><td class="rblock"><span class="insert">ect</span> to the reference grid */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 dx;</td><td> </td><td class="rblock"> OPJ_UINT32 dx;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** YRsiz: vertical separation of a sample of ith component with <span class="delete">res</span></td><td> </td><td class="rblock"> /** YRsiz: vertical separation of a sample of ith component with <span class="insert">respec</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">pect</span> to the reference grid */</td><td> </td><td class="rblock"><span class="insert">t</span> to the reference grid */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 dy;</td><td> </td><td class="rblock"> OPJ_UINT32 dy;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** data width */</td><td> </td><td class="rblock"> /** data width */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 w;</td><td> </td><td class="rblock"> OPJ_UINT32 w;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** data height */</td><td> </td><td class="rblock"> /** data height */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 h;</td><td> </td><td class="rblock"> OPJ_UINT32 h;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** x component offset compared to the whole image */</td><td> </td><td class="rblock"> /** x component offset compared to the whole image */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 x0;</td><td> </td><td class="rblock"> OPJ_UINT32 x0;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** y component offset compared to the whole image */</td><td> </td><td class="rblock"> /** y component offset compared to the whole image */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 y0;</td><td> </td><td class="rblock"> OPJ_UINT32 y0;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** precision */</td><td> </td><td class="rblock"> /** precision */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 prec;</td><td> </td><td class="rblock"> OPJ_UINT32 prec;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** image depth in bits */</td><td> </td><td class="rblock"> /** image depth in bits */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 bpp;</td><td> </td><td class="rblock"> OPJ_UINT32 bpp;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** signed (1) / unsigned (0) */</td><td> </td><td class="rblock"> /** signed (1) / unsigned (0) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 sgnd;</td><td> </td><td class="rblock"> OPJ_UINT32 sgnd;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_image_cmptparm_t;</td><td> </td><td class="right">} opj_image_cmptparm_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> Information on the JPEG 2000 codestream</td><td> </td><td class="right"> Information on the JPEG 2000 codestream</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* QUITE EXPERIMENTAL FOR THE MOMENT */</td><td> </td><td class="right">/* QUITE EXPERIMENTAL FOR THE MOMENT */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Index structure : Information concerning a packet inside tile</td><td> </td><td class="right"> * Index structure : Information concerning a packet inside tile</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_packet_info {</td><td> </td><td class="right">typedef struct opj_packet_info {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0047" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** packet start position (including SOP marker if it exists) */</td><td> </td><td class="rblock"> /** packet start position (including SOP marker if it exists) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_OFF_T start_pos;</td><td> </td><td class="rblock"> OPJ_OFF_T start_pos;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** end of packet header position (including EPH marker if it <span class="delete">exists</span></td><td> </td><td class="rblock"> /** end of packet header position (including EPH marker if it <span class="insert">exists)*/</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">)*/</span></td><td> </td><td class="rblock"> OPJ_OFF_T end_ph_pos;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_OFF_T end_ph_pos;</td><td> </td><td class="rblock"> /** packet end position */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** packet end position */</td><td> </td><td class="rblock"> OPJ_OFF_T end_pos;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_OFF_T end_pos;</td><td> </td><td class="rblock"> /** packet distorsion */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** packet distorsion */</td><td> </td><td class="rblock"> double disto;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> double disto;</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_packet_info_t;</td><td> </td><td class="right">} opj_packet_info_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* UniPG>> */</td><td> </td><td class="right">/* UniPG>> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Marker structure</td><td> </td><td class="right"> * Marker structure</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_marker_info {</td><td> </td><td class="right">typedef struct opj_marker_info {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0048" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** marker type */</td><td> </td><td class="rblock"> /** marker type */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> unsigned short int type;</td><td> </td><td class="rblock"> unsigned short int type;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** position in codestream */</td><td> </td><td class="rblock"> /** position in codestream */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_OFF_T pos;</td><td> </td><td class="rblock"> OPJ_OFF_T pos;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** length, marker val included */</td><td> </td><td class="rblock"> /** length, marker val included */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int len;</td><td> </td><td class="rblock"> int len;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_marker_info_t;</td><td> </td><td class="right">} opj_marker_info_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* <<UniPG */</td><td> </td><td class="right">/* <<UniPG */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Index structure : Information concerning tile-parts</td><td> </td><td class="right"> * Index structure : Information concerning tile-parts</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_tp_info {</td><td> </td><td class="right">typedef struct opj_tp_info {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0049" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** start position of tile part */</td><td> </td><td class="rblock"> /** start position of tile part */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int tp_start_pos;</td><td> </td><td class="rblock"> int tp_start_pos;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** end position of tile part header */</td><td> </td><td class="rblock"> /** end position of tile part header */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int tp_end_header;</td><td> </td><td class="rblock"> int tp_end_header;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** end position of tile part */</td><td> </td><td class="rblock"> /** end position of tile part */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int tp_end_pos;</td><td> </td><td class="rblock"> int tp_end_pos;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** start packet of tile part */</td><td> </td><td class="rblock"> /** start packet of tile part */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int tp_start_pack;</td><td> </td><td class="rblock"> int tp_start_pack;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of packets of tile part */</td><td> </td><td class="rblock"> /** number of packets of tile part */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int tp_numpacks;</td><td> </td><td class="rblock"> int tp_numpacks;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_tp_info_t;</td><td> </td><td class="right">} opj_tp_info_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Index structure : information regarding tiles</td><td> </td><td class="right"> * Index structure : information regarding tiles</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_tile_info {</td><td> </td><td class="right">typedef struct opj_tile_info {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0050" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** value of thresh for each layer by tile cfr. Marcela */</td><td> </td><td class="rblock"> /** value of thresh for each layer by tile cfr. Marcela */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> double *thresh;</td><td> </td><td class="rblock"> double *thresh;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of tile */</td><td> </td><td class="rblock"> /** number of tile */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int tileno;</td><td> </td><td class="rblock"> int tileno;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** start position */</td><td> </td><td class="rblock"> /** start position */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int start_pos;</td><td> </td><td class="rblock"> int start_pos;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** end position of the header */</td><td> </td><td class="rblock"> /** end position of the header */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int end_header;</td><td> </td><td class="rblock"> int end_header;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** end position */</td><td> </td><td class="rblock"> /** end position */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int end_pos;</td><td> </td><td class="rblock"> int end_pos;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** precinct number for each resolution level (width) */</td><td> </td><td class="rblock"> /** precinct number for each resolution level (width) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int pw[33];</td><td> </td><td class="rblock"> int pw[33];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** precinct number for each resolution level (height) */</td><td> </td><td class="rblock"> /** precinct number for each resolution level (height) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int ph[33];</td><td> </td><td class="rblock"> int ph[33];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** precinct size (in power of 2), in X for each resolution level */</td><td> </td><td class="rblock"> /** precinct size (in power of 2), in X for each resolution level */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int pdx[33];</td><td> </td><td class="rblock"> int pdx[33];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** precinct size (in power of 2), in Y for each resolution level */</td><td> </td><td class="rblock"> /** precinct size (in power of 2), in Y for each resolution level */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int pdy[33];</td><td> </td><td class="rblock"> int pdy[33];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** information concerning packets inside tile */</td><td> </td><td class="rblock"> /** information concerning packets inside tile */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_packet_info_t *packet;</td><td> </td><td class="rblock"> opj_packet_info_t *packet;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** add fixed_quality */</td><td> </td><td class="rblock"> /** add fixed_quality */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int numpix;</td><td> </td><td class="rblock"> int numpix;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** add fixed_quality */</td><td> </td><td class="rblock"> /** add fixed_quality */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> double distotile;</td><td> </td><td class="rblock"> double distotile;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of markers */</td><td> </td><td class="rblock"> /** number of markers */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int marknum;</td><td> </td><td class="rblock"> int marknum;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** list of markers */</td><td> </td><td class="rblock"> /** list of markers */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_marker_info_t *marker;</td><td> </td><td class="rblock"> opj_marker_info_t *marker;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** actual size of markers array */</td><td> </td><td class="rblock"> /** actual size of markers array */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int maxmarknum;</td><td> </td><td class="rblock"> int maxmarknum;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of tile parts */</td><td> </td><td class="rblock"> /** number of tile parts */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int num_tps;</td><td> </td><td class="rblock"> int num_tps;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** information concerning tile parts */</td><td> </td><td class="rblock"> /** information concerning tile parts */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_tp_info_t *tp;</td><td> </td><td class="rblock"> opj_tp_info_t *tp;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_tile_info_t;</td><td> </td><td class="right">} opj_tile_info_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Index structure of the codestream</td><td> </td><td class="right"> * Index structure of the codestream</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_codestream_info {</td><td> </td><td class="right">typedef struct opj_codestream_info {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0051" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** maximum distortion reduction on the whole image (add for <span class="delete">Marcela</span></td><td> </td><td class="rblock"> /** maximum distortion reduction on the whole image (add for <span class="insert">Marcela) *</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">) */</span></td><td> </td><td class="rblock"><span class="insert">/</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> double D_max;</td><td> </td><td class="rblock"> double D_max;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** packet number */</td><td> </td><td class="rblock"> /** packet number */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int packno;</td><td> </td><td class="rblock"> int packno;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** writing the packet in the index with t2_encode_packets */</td><td> </td><td class="rblock"> /** writing the packet in the index with t2_encode_packets */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int index_write;</td><td> </td><td class="rblock"> int index_write;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** image width */</td><td> </td><td class="rblock"> /** image width */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int image_w;</td><td> </td><td class="rblock"> int image_w;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** image height */</td><td> </td><td class="rblock"> /** image height */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int image_h;</td><td> </td><td class="rblock"> int image_h;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** progression order */</td><td> </td><td class="rblock"> /** progression order */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_PROG_ORDER prog;</td><td> </td><td class="rblock"> OPJ_PROG_ORDER prog;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** tile size in x */</td><td> </td><td class="rblock"> /** tile size in x */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int tile_x;</td><td> </td><td class="rblock"> int tile_x;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** tile size in y */</td><td> </td><td class="rblock"> /** tile size in y */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int tile_y;</td><td> </td><td class="rblock"> int tile_y;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** */</td><td> </td><td class="rblock"> /** */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int tile_Ox;</td><td> </td><td class="rblock"> int tile_Ox;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** */</td><td> </td><td class="rblock"> /** */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int tile_Oy;</td><td> </td><td class="rblock"> int tile_Oy;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of tiles in X */</td><td> </td><td class="rblock"> /** number of tiles in X */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int tw;</td><td> </td><td class="rblock"> int tw;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of tiles in Y */</td><td> </td><td class="rblock"> /** number of tiles in Y */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int th;</td><td> </td><td class="rblock"> int th;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** component numbers */</td><td> </td><td class="rblock"> /** component numbers */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int numcomps;</td><td> </td><td class="rblock"> int numcomps;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of layer */</td><td> </td><td class="rblock"> /** number of layer */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int numlayers;</td><td> </td><td class="rblock"> int numlayers;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of decomposition for each component */</td><td> </td><td class="rblock"> /** number of decomposition for each component */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int *numdecompos;</td><td> </td><td class="rblock"> int *numdecompos;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">/* UniPG>> */</td><td> </td><td class="rblock"> /* UniPG>> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of markers */</td><td> </td><td class="rblock"> /** number of markers */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int marknum;</td><td> </td><td class="rblock"> int marknum;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** list of markers */</td><td> </td><td class="rblock"> /** list of markers */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_marker_info_t *marker;</td><td> </td><td class="rblock"> opj_marker_info_t *marker;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** actual size of markers array */</td><td> </td><td class="rblock"> /** actual size of markers array */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int maxmarknum;</td><td> </td><td class="rblock"> int maxmarknum;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">/* <<UniPG */</td><td> </td><td class="rblock"> /* <<UniPG */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** main header position */</td><td> </td><td class="rblock"> /** main header position */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int main_head_start;</td><td> </td><td class="rblock"> int main_head_start;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** main header position */</td><td> </td><td class="rblock"> /** main header position */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int main_head_end;</td><td> </td><td class="rblock"> int main_head_end;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** codestream's size */</td><td> </td><td class="rblock"> /** codestream's size */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int codestream_size;</td><td> </td><td class="rblock"> int codestream_size;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** information regarding tiles inside image */</td><td> </td><td class="rblock"> /** information regarding tiles inside image */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_tile_info_t *tile;</td><td> </td><td class="rblock"> opj_tile_info_t *tile;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_codestream_info_t;</td><td> </td><td class="right">} opj_codestream_info_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* <----------------------------------------------------------- */</td><td> </td><td class="right">/* <----------------------------------------------------------- */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* new output management of the codestream information and index */</td><td> </td><td class="right">/* new output management of the codestream information and index */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Tile-component coding parameters information</td><td> </td><td class="right"> * Tile-component coding parameters information</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0052" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">typedef struct opj_tccp_info</td><td> </td><td class="rblock">typedef struct opj_tccp_info {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">{</td><td> </td><td class="rblock"> /** component index */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** component index */</td><td> </td><td class="rblock"> OPJ_UINT32 compno;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 compno;</td><td> </td><td class="rblock"> /** coding style */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** coding style */</td><td> </td><td class="rblock"> OPJ_UINT32 csty;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 csty;</td><td> </td><td class="rblock"> /** number of resolutions */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of resolutions */</td><td> </td><td class="rblock"> OPJ_UINT32 numresolutions;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 numresolutions;</td><td> </td><td class="rblock"> /** code-blocks width */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** code-blocks width */</td><td> </td><td class="rblock"> OPJ_UINT32 cblkw;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 cblkw;</td><td> </td><td class="rblock"> /** code-blocks height */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** code-blocks height */</td><td> </td><td class="rblock"> OPJ_UINT32 cblkh;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 cblkh;</td><td> </td><td class="rblock"> /** code-block coding style */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** code-block coding style */</td><td> </td><td class="rblock"> OPJ_UINT32 cblksty;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 cblksty;</td><td> </td><td class="rblock"> /** discrete wavelet transform <span class="insert">identifier: 0 = 9-7 irreversible, 1 = 5-</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** discrete wavelet transform <span class="delete">identifier</span> */</td><td> </td><td class="rblock"><span class="insert">3 reversible</span> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 qmfbid;</td><td> </td><td class="rblock"> OPJ_UINT32 qmfbid;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** quantisation style */</td><td> </td><td class="rblock"> /** quantisation style */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 qntsty;</td><td> </td><td class="rblock"> OPJ_UINT32 qntsty;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** stepsizes used for quantization */</td><td> </td><td class="rblock"> /** stepsizes used for quantization */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 stepsizes_mant[OPJ_J2K_MAXBANDS];</td><td> </td><td class="rblock"> OPJ_UINT32 stepsizes_mant[OPJ_J2K_MAXBANDS];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** stepsizes used for quantization */</td><td> </td><td class="rblock"> /** stepsizes used for quantization */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 stepsizes_expn[OPJ_J2K_MAXBANDS];</td><td> </td><td class="rblock"> OPJ_UINT32 stepsizes_expn[OPJ_J2K_MAXBANDS];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of guard bits */</td><td> </td><td class="rblock"> /** number of guard bits */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 numgbits;</td><td> </td><td class="rblock"> OPJ_UINT32 numgbits;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Region Of Interest shift */</td><td> </td><td class="rblock"> /** Region Of Interest shift */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_INT32 roishift;</td><td> </td><td class="rblock"> OPJ_INT32 roishift;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** precinct width */</td><td> </td><td class="rblock"> /** precinct width */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 prcw[OPJ_J2K_MAXRLVLS];</td><td> </td><td class="rblock"> OPJ_UINT32 prcw[OPJ_J2K_MAXRLVLS];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** precinct height */</td><td> </td><td class="rblock"> /** precinct height */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 prch[OPJ_J2K_MAXRLVLS];</td><td> </td><td class="rblock"> OPJ_UINT32 prch[OPJ_J2K_MAXRLVLS];</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">}</td><td> </td><td class="right">}</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">opj_tccp_info_t;</td><td> </td><td class="right">opj_tccp_info_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Tile coding parameters information</td><td> </td><td class="right"> * Tile coding parameters information</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_tile_v2_info {</td><td> </td><td class="right">typedef struct opj_tile_v2_info {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0053" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number (index) of tile */</td><td> </td><td class="rblock"> /** number (index) of tile */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> int tileno;</td><td> </td><td class="rblock"> int tileno;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** coding style */</td><td> </td><td class="rblock"> /** coding style */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 csty;</td><td> </td><td class="rblock"> OPJ_UINT32 csty;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** progression order */</td><td> </td><td class="rblock"> /** progression order */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_PROG_ORDER prg;</td><td> </td><td class="rblock"> OPJ_PROG_ORDER prg;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of layers */</td><td> </td><td class="rblock"> /** number of layers */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 numlayers;</td><td> </td><td class="rblock"> OPJ_UINT32 numlayers;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** multi-component transform identifier */</td><td> </td><td class="rblock"> /** multi-component transform identifier */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 mct;</td><td> </td><td class="rblock"> OPJ_UINT32 mct;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0054" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** information concerning tile component parameters*/</td><td> </td><td class="rblock"> /** information concerning tile component parameters*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_tccp_info_t *tccp_info;</td><td> </td><td class="rblock"> opj_tccp_info_t *tccp_info;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_tile_info_v2_t;</td><td> </td><td class="right">} opj_tile_info_v2_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Information structure about the codestream (FIXME should be expand and e
+nhance)</td><td> </td><td class="right"> * Information structure about the codestream (FIXME should be expand and e
+nhance)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_codestream_info_v2 {</td><td> </td><td class="right">typedef struct opj_codestream_info_v2 {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0055" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /* Tile info */</td><td> </td><td class="rblock"> /* Tile info */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** tile origin in x = XTOsiz */</td><td> </td><td class="rblock"> /** tile origin in x = XTOsiz */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 tx0;</td><td> </td><td class="rblock"> OPJ_UINT32 tx0;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** tile origin in y = YTOsiz */</td><td> </td><td class="rblock"> /** tile origin in y = YTOsiz */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 ty0;</td><td> </td><td class="rblock"> OPJ_UINT32 ty0;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** tile size in x = XTsiz */</td><td> </td><td class="rblock"> /** tile size in x = XTsiz */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 tdx;</td><td> </td><td class="rblock"> OPJ_UINT32 tdx;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** tile size in y = YTsiz */</td><td> </td><td class="rblock"> /** tile size in y = YTsiz */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 tdy;</td><td> </td><td class="rblock"> OPJ_UINT32 tdy;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of tiles in X */</td><td> </td><td class="rblock"> /** number of tiles in X */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 tw;</td><td> </td><td class="rblock"> OPJ_UINT32 tw;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of tiles in Y */</td><td> </td><td class="rblock"> /** number of tiles in Y */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 th;</td><td> </td><td class="rblock"> OPJ_UINT32 th;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0056" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of components*/</td><td> </td><td class="rblock"> /** number of components*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 nbcomps;</td><td> </td><td class="rblock"> OPJ_UINT32 nbcomps;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0057" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** Default information regarding tiles inside image */</td><td> </td><td class="rblock"> /** Default information regarding tiles inside image */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_tile_info_v2_t m_default_tile_info;</td><td> </td><td class="rblock"> opj_tile_info_v2_t m_default_tile_info;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0058" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** information regarding tiles inside image */</td><td> </td><td class="rblock"> /** information regarding tiles inside image */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_tile_info_v2_t *tile_info; /* FIXME not used for the moment */</td><td> </td><td class="rblock"> opj_tile_info_v2_t *tile_info; /* FIXME not used for the moment */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_codestream_info_v2_t;</td><td> </td><td class="right">} opj_codestream_info_v2_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Index structure about a tile part</td><td> </td><td class="right"> * Index structure about a tile part</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_tp_index {</td><td> </td><td class="right">typedef struct opj_tp_index {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0059" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** start position */</td><td> </td><td class="rblock"> /** start position */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_OFF_T start_pos;</td><td> </td><td class="rblock"> OPJ_OFF_T start_pos;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** end position of the header */</td><td> </td><td class="rblock"> /** end position of the header */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_OFF_T end_header;</td><td> </td><td class="rblock"> OPJ_OFF_T end_header;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** end position */</td><td> </td><td class="rblock"> /** end position */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_OFF_T end_pos;</td><td> </td><td class="rblock"> OPJ_OFF_T end_pos;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_tp_index_t;</td><td> </td><td class="right">} opj_tp_index_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Index structure about a tile</td><td> </td><td class="right"> * Index structure about a tile</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_tile_index {</td><td> </td><td class="right">typedef struct opj_tile_index {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0060" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** tile index */</td><td> </td><td class="rblock"> /** tile index */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 tileno;</td><td> </td><td class="rblock"> OPJ_UINT32 tileno;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0061" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of tile parts */</td><td> </td><td class="rblock"> /** number of tile parts */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 nb_tps;</td><td> </td><td class="rblock"> OPJ_UINT32 nb_tps;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** current nb of tile part (allocated)*/</td><td> </td><td class="rblock"> /** current nb of tile part (allocated)*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 current_nb_tps;</td><td> </td><td class="rblock"> OPJ_UINT32 current_nb_tps;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** current tile-part index */</td><td> </td><td class="rblock"> /** current tile-part index */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 current_tpsno;</td><td> </td><td class="rblock"> OPJ_UINT32 current_tpsno;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** information concerning tile parts */</td><td> </td><td class="rblock"> /** information concerning tile parts */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_tp_index_t *tp_index;</td><td> </td><td class="rblock"> opj_tp_index_t *tp_index;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0062" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /* UniPG>> */ /* NOT USED FOR THE MOMENT IN THE V2 VERSION */</td><td> </td><td class="rblock"> /* UniPG>> */ /* NOT USED FOR THE MOMENT IN THE V2 VERSION */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of markers */</td><td> </td><td class="rblock"> /** number of markers */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 marknum;</td><td> </td><td class="rblock"> OPJ_UINT32 marknum;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** list of markers */</td><td> </td><td class="rblock"> /** list of markers */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_marker_info_t *marker;</td><td> </td><td class="rblock"> opj_marker_info_t *marker;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** actual size of markers array */</td><td> </td><td class="rblock"> /** actual size of markers array */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 maxmarknum;</td><td> </td><td class="rblock"> OPJ_UINT32 maxmarknum;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /* <<UniPG */</td><td> </td><td class="rblock"> /* <<UniPG */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0063" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** packet number */</td><td> </td><td class="rblock"> /** packet number */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 nb_packet;</td><td> </td><td class="rblock"> OPJ_UINT32 nb_packet;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** information concerning packets inside tile */</td><td> </td><td class="rblock"> /** information concerning packets inside tile */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_packet_info_t *packet_index;</td><td> </td><td class="rblock"> opj_packet_info_t *packet_index;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_tile_index_t;</td><td> </td><td class="right">} opj_tile_index_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Index structure of the codestream (FIXME should be expand and enhance)</td><td> </td><td class="right"> * Index structure of the codestream (FIXME should be expand and enhance)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_codestream_index {</td><td> </td><td class="right">typedef struct opj_codestream_index {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0064" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** main header start position (SOC position) */</td><td> </td><td class="rblock"> /** main header start position (SOC position) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_OFF_T main_head_start;</td><td> </td><td class="rblock"> OPJ_OFF_T main_head_start;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** main header end position (first SOT position) */</td><td> </td><td class="rblock"> /** main header end position (first SOT position) */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_OFF_T main_head_end;</td><td> </td><td class="rblock"> OPJ_OFF_T main_head_end;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0065" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** codestream's size */</td><td> </td><td class="rblock"> /** codestream's size */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT64 codestream_size;</td><td> </td><td class="rblock"> OPJ_UINT64 codestream_size;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0066" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">/* UniPG>> */ /* NOT USED FOR THE MOMENT IN THE V2 VERSION */</td><td> </td><td class="rblock"> /* UniPG>> */ /* NOT USED FOR THE MOMENT IN THE V2 VERSION */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** number of markers */</td><td> </td><td class="rblock"> /** number of markers */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 marknum;</td><td> </td><td class="rblock"> OPJ_UINT32 marknum;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** list of markers */</td><td> </td><td class="rblock"> /** list of markers */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_marker_info_t *marker;</td><td> </td><td class="rblock"> opj_marker_info_t *marker;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** actual size of markers array */</td><td> </td><td class="rblock"> /** actual size of markers array */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 maxmarknum;</td><td> </td><td class="rblock"> OPJ_UINT32 maxmarknum;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">/* <<UniPG */</td><td> </td><td class="rblock"> /* <<UniPG */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0067" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** */</td><td> </td><td class="rblock"> /** */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 nb_of_tiles;</td><td> </td><td class="rblock"> OPJ_UINT32 nb_of_tiles;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** */</td><td> </td><td class="rblock"> /** */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_tile_index_t *tile_index; /* FIXME not used for the moment */</td><td> </td><td class="rblock"> opj_tile_index_t *tile_index; /* FIXME not used for the moment */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0068" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">}opj_codestream_index_t;</td><td> </td><td class="rblock">}<span class="insert"> </span>opj_codestream_index_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* -----------------------------------------------------------> */</td><td> </td><td class="right">/* -----------------------------------------------------------> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> Metadata from the JP2file</td><td> </td><td class="right"> Metadata from the JP2file</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Info structure of the JP2 file</td><td> </td><td class="right"> * Info structure of the JP2 file</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * EXPERIMENTAL FOR THE MOMENT</td><td> </td><td class="right"> * EXPERIMENTAL FOR THE MOMENT</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_jp2_metadata {</td><td> </td><td class="right">typedef struct opj_jp2_metadata {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0069" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** */</td><td> </td><td class="rblock"> /** */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_INT32 not_used;</td><td> </td><td class="rblock"> OPJ_INT32 not_used;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_jp2_metadata_t;</td><td> </td><td class="right">} opj_jp2_metadata_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Index structure of the JP2 file</td><td> </td><td class="right"> * Index structure of the JP2 file</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * EXPERIMENTAL FOR THE MOMENT</td><td> </td><td class="right"> * EXPERIMENTAL FOR THE MOMENT</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_jp2_index {</td><td> </td><td class="right">typedef struct opj_jp2_index {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0070" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> /** */</td><td> </td><td class="rblock"> /** */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_INT32 not_used;</td><td> </td><td class="rblock"> OPJ_INT32 not_used;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} opj_jp2_index_t;</td><td> </td><td class="right">} opj_jp2_index_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#ifdef __cplusplus</td><td> </td><td class="right">#ifdef __cplusplus</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">extern "C" {</td><td> </td><td class="right">extern "C" {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#endif</td><td> </td><td class="right">#endif</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> openjpeg version</td><td> </td><td class="right"> openjpeg version</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> line 1062</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> line 1066</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Create an image</td><td> </td><td class="right"> * Create an image</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param numcmpts number of components</td><td> </td><td class="right"> * @param numcmpts number of components</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param cmptparms components parameters</td><td> </td><td class="right"> * @param cmptparms components parameters</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param clrspc image color space</td><td> </td><td class="right"> * @param clrspc image color space</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @return returns a new image structure if successful, returns NULL o
+therwise</td><td> </td><td class="right"> * @return returns a new image structure if successful, returns NULL o
+therwise</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0071" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_image_t* OPJ_CALLCONV opj_image_create(OPJ_UINT32 numcmpts, <span class="delete">opj</span></td><td> </td><td class="rblock">OPJ_API opj_image_t* OPJ_CALLCONV opj_image_create(OPJ_UINT32 numcmpts,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">_image_cmptparm_t</span> *cmptparms, OPJ_COLOR_SPACE clrspc);</td><td> </td><td class="rblock"> <span class="insert">opj_image_cmptparm_t</span> *cmptparms, OPJ_COLOR_SPACE clrspc);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Deallocate any resources associated with an image</td><td> </td><td class="right"> * Deallocate any resources associated with an image</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param image image to be destroyed</td><td> </td><td class="right"> * @param image image to be destroyed</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API void OPJ_CALLCONV opj_image_destroy(opj_image_t *image);</td><td> </td><td class="right">OPJ_API void OPJ_CALLCONV opj_image_destroy(opj_image_t *image);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Creates an image without allocating memory for the image (used in the ne
+w version of the library).</td><td> </td><td class="right"> * Creates an image without allocating memory for the image (used in the ne
+w version of the library).</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0072" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param numcmpts the number of components</td><td> </td><td class="rblock"> * @param numcmpts the number of components</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param cmptparms the components parameters</td><td> </td><td class="rblock"> * @param cmptparms the components parameters</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param clrspc the image color space</td><td> </td><td class="rblock"> * @param clrspc the image color space</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0073" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return <span class="delete"> </span>a new image structure if successful, NULL otherwise.</td><td> </td><td class="rblock"> * @return a new image structure if successful, NULL otherwise.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0074" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_image_t* OPJ_CALLCONV opj_image_tile_create(OPJ_UINT32 numcmpts</td><td> </td><td class="rblock">OPJ_API opj_image_t* OPJ_CALLCONV opj_image_tile_create(OPJ_UINT32 numcmpts</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">, opj_image_cmptparm_t *cmptparms, OPJ_COLOR_SPACE clrspc);</td><td> </td><td class="rblock">,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> opj_image_cmptparm_t *cmptparms, OPJ_COLOR_SPACE clrspc);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/**</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * Allocator for opj_image_t->comps[].data</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * To be paired with opj_image_data_free.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @param size number of bytes to allocate</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @return a new pointer if successful, NULL otherwise.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @since 2.2.0</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">*/</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">OPJ_API void* OPJ_CALLCONV opj_image_data_alloc(OPJ_SIZE_T size);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/**</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * Destructor for opj_image_t->comps[].data</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * To be paired with opj_image_data_alloc.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @param ptr Pointer to free</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @since 2.2.0</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">*/</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">OPJ_API void OPJ_CALLCONV opj_image_data_free(void* ptr);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> stream functions definitions</td><td> </td><td class="right"> stream functions definitions</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Creates an abstract stream. This function does nothing except allocating
+ memory and initializing the abstract stream.</td><td> </td><td class="right"> * Creates an abstract stream. This function does nothing except allocating
+ memory and initializing the abstract stream.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0075" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param <span class="delete"> p_is_input if set to true then the stream will
+be an input</span> stream, an output stream else.</td><td> </td><td class="rblock"> * @param <span class="insert">p_is_input if set to true then the stream will be an input
+</span> stream, an output stream else.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0076" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return <span class="delete"> </span>a stream object.</td><td> </td><td class="rblock"> * @return a stream object.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0077" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_stream_t* OPJ_CALLCONV <span class="delete">opj_stream_default_create(OPJ_BOOL p_is_</span></td><td> </td><td class="rblock">OPJ_API opj_stream_t* OPJ_CALLCONV <span class="insert">opj_stream_default_create(</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">input);</span></td><td> </td><td class="rblock"><span class="insert"> OPJ_BOOL p_is_input);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Creates an abstract stream. This function does nothing except allocating
+ memory and initializing the abstract stream.</td><td> </td><td class="right"> * Creates an abstract stream. This function does nothing except allocating
+ memory and initializing the abstract stream.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0078" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_buffer_size FIXME DOC</td><td> </td><td class="rblock"> * @param p_buffer_size FIXME DOC</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_is_input if set to true then the stream will </td><td> </td><td class="rblock"> * @param p_is_input if set to true then the stream will be an input</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">be an input stream, an output stream else.</td><td> </td><td class="rblock"> stream, an output stream else.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0079" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return <span class="delete"> </span>a stream object.</td><td> </td><td class="rblock"> * @return a stream object.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0080" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_create(OPJ_SIZE_T p_buffer_si</td><td> </td><td class="rblock">OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_create(OPJ_SIZE_T p_buffer_si</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">ze, OPJ_BOOL p_is_input);</td><td> </td><td class="rblock">ze,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> OPJ_BOOL p_is_input);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Destroys a stream created by opj_create_stream. This function does NOT c
+lose the abstract stream. If needed the user must</td><td> </td><td class="right"> * Destroys a stream created by opj_create_stream. This function does NOT c
+lose the abstract stream. If needed the user must</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * close its own implementation of the stream.</td><td> </td><td class="right"> * close its own implementation of the stream.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0081" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param <span class="delete"> p_stream </span> the stream to destroy.</td><td> </td><td class="rblock"> * @param <span class="insert">p_stream</span> the stream to destroy.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API void OPJ_CALLCONV opj_stream_destroy(opj_stream_t* p_stream);</td><td> </td><td class="right">OPJ_API void OPJ_CALLCONV opj_stream_destroy(opj_stream_t* p_stream);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Sets the given function to be used as a read function.</td><td> </td><td class="right"> * Sets the given function to be used as a read function.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0082" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream the stream to modify</td><td> </td><td class="rblock"> * @param p_stream the stream to modify</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_function the function to use a read function.</td><td> </td><td class="rblock"> * @param p_function the function to use a read function.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0083" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV opj_stream_set_read_function(opj_stream_t* p_stre</td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV opj_stream_set_read_function(opj_stream_t* p_stre</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">am, opj_stream_read_fn p_function);</td><td> </td><td class="rblock">am,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> opj_stream_read_fn p_function);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Sets the given function to be used as a write function.</td><td> </td><td class="right"> * Sets the given function to be used as a write function.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0084" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream the stream to modify</td><td> </td><td class="rblock"> * @param p_stream the stream to modify</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_function the function to use a write <span class="delete">function</span></td><td> </td><td class="rblock"> * @param p_function the function to use a write <span class="insert">function.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0085" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV opj_stream_set_write_function(opj_stream_t* p_str</td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV opj_stream_set_write_function(opj_stream_t* p_str</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">eam, opj_stream_write_fn p_function);</td><td> </td><td class="rblock">eam,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> opj_stream_write_fn p_function);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></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" valign="top"></td></tr>
+ <tr><td><a name="diff0086" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream the stream to modify</td><td> </td><td class="rblock"> * @param p_stream the stream to modify</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_function the function to use a skip function.</td><td> </td><td class="rblock"> * @param p_function the function to use a skip function.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0087" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV opj_stream_set_skip_function(opj_stream_t* p_stre</td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV opj_stream_set_skip_function(opj_stream_t* p_stre</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">am, opj_stream_skip_fn p_function);</td><td> </td><td class="rblock">am,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> opj_stream_skip_fn p_function);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Sets the given function to be used as a seek function, the stream is the
+n seekable.</td><td> </td><td class="right"> * Sets the given function to be used as a seek function, the stream is the
+n seekable.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0088" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream the stream to modify</td><td> </td><td class="rblock"> * @param p_stream the stream to modify</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_function the function to use a skip function.</td><td> </td><td class="rblock"> * @param p_function the function to use a skip function.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0089" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV opj_stream_set_seek_function(opj_stream_t* p_stre</td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV opj_stream_set_seek_function(opj_stream_t* p_stre</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">am, opj_stream_seek_fn p_function);</td><td> </td><td class="rblock">am,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> opj_stream_seek_fn p_function);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></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" valign="top"></td></tr>
+ <tr><td><a name="diff0090" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream the stream to modify</td><td> </td><td class="rblock"> * @param p_stream the stream to modify</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_data the data to set.</td><td> </td><td class="rblock"> * @param p_data the data to set.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_function the function to free p_data when <span class="delete">opj</span></td><td> </td><td class="rblock"> * @param p_function the function to free p_data when <span class="insert">opj_stream_des</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">_stream_destroy()</span> is called.</td><td> </td><td class="rblock"><span class="insert">troy()</span> is called.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0091" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV <span class="delete">opj_stream_set_user_data (opj_stream_t*</span> p_stream,</td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV <span class="insert">opj_stream_set_user_data(opj_stream_t*</span> p_stream,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> void * p_data, opj_stream_free_user_data_fn p_function);</td><td> </td><td class="rblock"> void * p_data, opj_stream_free_user_data_fn p_function);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Sets the length of the user data for the stream.</td><td> </td><td class="right"> * Sets the length of the user data for the stream.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></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" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param data_length length of the user_data.</td><td> </td><td class="right"> * @param data_length length of the user_data.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0092" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV <span class="delete">opj_stream_set_user_data_length(opj_stream_t* p_s</span></td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV <span class="insert">opj_stream_set_user_data_length(</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">tream,</span> OPJ_UINT64 data_length);</td><td> </td><td class="rblock"><span class="insert"> opj_stream_t* p_stream,</span> OPJ_UINT64 data_length);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Create a stream from a file identified with its filename with default pa
+rameters (helper function)</td><td> </td><td class="right"> * Create a stream from a file identified with its filename with default pa
+rameters (helper function)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param fname the filename of the file to stream</td><td> </td><td class="right"> * @param fname the filename of the file to stream</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_is_read_stream whether the stream is a read stream (true) or n
+ot (false)</td><td> </td><td class="right"> * @param p_is_read_stream whether the stream is a read stream (true) or n
+ot (false)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0093" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_stream_t* OPJ_CALLCONV <span class="delete">opj_stream_create_default_file_stream (c</span></td><td> </td><td class="rblock">OPJ_API opj_stream_t* OPJ_CALLCONV <span class="insert">opj_stream_create_default_file_stream(</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">onst</span> char *fname, OPJ_BOOL p_is_read_stream);</td><td> </td><td class="rblock"><span class="insert"> const</span> char *fname, OPJ_BOOL p_is_read_stream);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/** Create a stream from a file identified with its filename with a specifi
+c buffer size</td><td> </td><td class="right">/** Create a stream from a file identified with its filename with a specifi
+c buffer size</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param fname the filename of the file to stream</td><td> </td><td class="right"> * @param fname the filename of the file to stream</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_buffer_size size of the chunk used to stream</td><td> </td><td class="right"> * @param p_buffer_size size of the chunk used to stream</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_is_read_stream whether the stream is a read stream (true) or n
+ot (false)</td><td> </td><td class="right"> * @param p_is_read_stream whether the stream is a read stream (true) or n
+ot (false)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0094" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_stream_t* OPJ_CALLCONV <span class="delete">opj_stream_create_file_stream (const cha</span></td><td> </td><td class="rblock">OPJ_API opj_stream_t* OPJ_CALLCONV <span class="insert">opj_stream_create_file_stream(</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">r</span> *fname,</td><td> </td><td class="rblock"><span class="insert"> const char</span> *fname,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">OPJ_SI</span></td><td> </td><td class="rblock"> <span class="insert">OPJ_SIZE_T</span> p_buffer_size,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ZE_T</span> p_buffer_size,</td><td> </td><td class="rblock"> <span class="insert">OPJ_BOOL</span> p_is_read_stream);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">OPJ_BO</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">OL</span> p_is_read_stream);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> event manager functions definitions</td><td> </td><td class="right"> event manager functions definitions</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Set the info handler use by openjpeg.</td><td> </td><td class="right"> * Set the info handler use by openjpeg.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_codec the codec previously initialise</td><td> </td><td class="right"> * @param p_codec the codec previously initialise</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_callback the callback function which will be used</td><td> </td><td class="right"> * @param p_callback the callback function which will be used</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_user_data client object where will be returned the message</td><td> </td><td class="right"> * @param p_user_data client object where will be returned the message</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_info_handler(opj_codec_t * p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_info_handler(opj_codec_t * p_codec,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0095" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_msg_callback <span class="delete">p_callb</span></td><td> </td><td class="rblock"> opj_msg_callback <span class="insert">p_callback,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ack,</span></td><td> </td><td class="rblock"> void * p_user_data);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> void * p_user_data);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Set the warning handler use by openjpeg.</td><td> </td><td class="right"> * Set the warning handler use by openjpeg.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_codec the codec previously initialise</td><td> </td><td class="right"> * @param p_codec the codec previously initialise</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_callback the callback function which will be used</td><td> </td><td class="right"> * @param p_callback the callback function which will be used</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_user_data client object where will be returned the message</td><td> </td><td class="right"> * @param p_user_data client object where will be returned the message</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_warning_handler(opj_codec_t * p_codec
+,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_warning_handler(opj_codec_t * p_codec
+,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0096" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_msg_callback <span class="delete">p_ca</span></td><td> </td><td class="rblock"> opj_msg_callback <span class="insert">p_callback,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">llback,</span></td><td> </td><td class="rblock"> void * p_user_data);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> void * p_user_data);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Set the error handler use by openjpeg.</td><td> </td><td class="right"> * Set the error handler use by openjpeg.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_codec the codec previously initialise</td><td> </td><td class="right"> * @param p_codec the codec previously initialise</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_callback the callback function which will be used</td><td> </td><td class="right"> * @param p_callback the callback function which will be used</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_user_data client object where will be returned the message</td><td> </td><td class="right"> * @param p_user_data client object where will be returned the message</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_error_handler(opj_codec_t * p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_error_handler(opj_codec_t * p_codec,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0097" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_msg_callback <span class="delete">p_call</span></td><td> </td><td class="rblock"> opj_msg_callback <span class="insert">p_callback,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">back,</span></td><td> </td><td class="rblock"> void * p_user_data);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> void * p_user_data);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> codec functions definitions</td><td> </td><td class="right"> codec functions definitions</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Creates a J2K/JP2 decompression structure</td><td> </td><td class="right"> * Creates a J2K/JP2 decompression structure</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0098" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param format <span class="delete"> </span>Decoder to select</td><td> </td><td class="rblock"> * @param format Decoder to select</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @return Returns a handle to a decompressor if successful, returns NULL o
+therwise</td><td> </td><td class="right"> * @return Returns a handle to a decompressor if successful, returns NULL o
+therwise</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0099" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_codec_t* OPJ_CALLCONV <span class="delete">opj_create_decompress(OPJ_CODEC_FORMAT fo</span></td><td> </td><td class="rblock">OPJ_API opj_codec_t* OPJ_CALLCONV <span class="insert">opj_create_decompress(</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">rmat);</span></td><td> </td><td class="rblock"><span class="insert"> OPJ_CODEC_FORMAT format);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Destroy a decompressor handle</td><td> </td><td class="right"> * Destroy a decompressor handle</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0100" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param <span class="delete"> p_codec </span> decompressor handle to destroy</td><td> </td><td class="rblock"> * @param <span class="insert">p_codec</span> decompressor handle to destroy</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API void OPJ_CALLCONV opj_destroy_codec(opj_codec_t * p_codec);</td><td> </td><td class="right">OPJ_API void OPJ_CALLCONV opj_destroy_codec(opj_codec_t * p_codec);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Read after the codestream if necessary</td><td> </td><td class="right"> * Read after the codestream if necessary</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0101" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec the JPEG2000 codec to read.</td><td> </td><td class="rblock"> * @param p_codec the JPEG2000 codec to read.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream the JPEG2000 stream.</td><td> </td><td class="rblock"> * @param p_stream the JPEG2000 stream.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0102" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_end_decompress ( opj_codec_t *p_codec</span></td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_end_decompress(opj_codec_t *p_codec,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">,</span></td><td> </td><td class="rblock"> opj_stream_t *p_stream);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_stream_t *p_stream);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Set decoding parameters to default values</td><td> </td><td class="right"> * Set decoding parameters to default values</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @param parameters Decompression parameters</td><td> </td><td class="right"> * @param parameters Decompression parameters</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0103" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV <span class="delete">opj_set_default_decoder_parameters(opj_dparameter</span></td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV <span class="insert">opj_set_default_decoder_parameters(</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">s_t</span> *parameters);</td><td> </td><td class="rblock"><span class="insert"> opj_dparameters_t</span> *parameters);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Setup the decoder with decompression parameters provided by the user and
+ with the message handler</td><td> </td><td class="right"> * Setup the decoder with decompression parameters provided by the user and
+ with the message handler</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * provided by the user.</td><td> </td><td class="right"> * provided by the user.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0104" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec decompressor handler</td><td> </td><td class="rblock"> * @param p_codec decompressor handler</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param parameters decompression parameters</td><td> </td><td class="rblock"> * @param parameters decompression parameters</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0105" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return true <span class="delete"> </span>if the decoder is correctly set</td><td> </td><td class="rblock"> * @return true if the decoder is correctly set</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_decoder(opj_codec_t *p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_decoder(opj_codec_t *p_codec,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0106" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> opj_dparameters_t <span class="insert">*parameters);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_dparameters_t <span class="delete">*parameters );</span></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/**</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * Allocates worker threads for the compressor/decompressor.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * By default, only the main thread is used. If this function is not used,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * but the OPJ_NUM_THREADS environment variable is set, its value will be</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * used to initialize the number of threads. The value can be either an int</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">eger</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * number, or "ALL_CPUS". If OPJ_NUM_THREADS is set and this function is ca</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">lled,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * this function will override the behaviour of the environment variable.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * Note: currently only has effect on the decompressor.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @param p_codec decompressor handler</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @param num_threads number of threads.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @return OPJ_TRUE if the decoder is correctly set</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> */</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_codec_set_threads(opj_codec_t *p_codec,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> int num_threads);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Decodes an image header.</td><td> </td><td class="right"> * Decodes an image header.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0107" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream the jpeg2000 stream.</td><td> </td><td class="rblock"> * @param p_stream the jpeg2000 stream.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec the jpeg2000 codec to read.</td><td> </td><td class="rblock"> * @param p_codec the jpeg2000 codec to read.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_image the image structure initialized with</td><td> </td><td class="rblock"> * @param p_image the image structure initialized with the <span class="insert">charac</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> the <span class="delete">characteristics</span> of encoded image.</td><td> </td><td class="rblock"><span class="insert">teristics</span> of encoded image.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0108" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return true <span class="delete"> if the main header of the co
+destream and the JP</span>2 header is correctly read.</td><td> </td><td class="rblock"> * @return true <span class="insert">if the main header of the codestream and the JP
+</span>2 header is correctly read.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0109" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_read_header ( opj_stream_t *p_stre</span></td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_read_header(opj_stream_t *p_stream,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">am,</span></td><td> </td><td class="rblock"> opj_codec_t *p_codec,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> opj_image_t **p_image);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_codec_t *p_codec,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_image_t **p_image);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Sets the given area to be decoded. This function should be called right
+after opj_read_header and before any tile header reading.</td><td> </td><td class="right"> * Sets the given area to be decoded. This function should be called right
+after opj_read_header and before any tile header reading.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0110" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param p_codec the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_image the decoded image previously setted by <span class="delete">opj_r</span></td><td> </td><td class="rblock"> * @param p_image the decoded image previously setted by <span class="insert">opj_read</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ead_header</span></td><td> </td><td class="rblock"><span class="insert">_header</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_start_x the left position of the rectangle <span class="delete">t</span></td><td> </td><td class="rblock"> * @param p_start_x the left position of the rectangle <span class="insert">to</span> decode <span class="insert">(i</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">o</span> decode <span class="delete">(in</span> image coordinates).</td><td> </td><td class="rblock"><span class="insert">n</span> image coordinates).</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_end_x the right position of the rectangle </td><td> </td><td class="rblock"> * @param p_end_x the right position of the rectangle to decode <span class="insert">(</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">to decode <span class="delete">(in</span> image coordinates).</td><td> </td><td class="rblock"><span class="insert">in</span> image coordinates).</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_start_y the up position of the rectangle to </td><td> </td><td class="rblock"> * @param p_start_y the up position of the rectangle to decode (in </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">decode (in image coordinates).</td><td> </td><td class="rblock">image coordinates).</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_end_y the bottom position of the rectangle</td><td> </td><td class="rblock"> * @param p_end_y the bottom position of the rectangle to decode </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> to decode (in image coordinates).</td><td> </td><td class="rblock">(in image coordinates).</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0111" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return <span class="delete"> true </span> if the area could be set.</td><td> </td><td class="rblock"> * @return <span class="insert">true</span> if the area could be set.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0112" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_set_decode_area( opj_codec_t *p_codec</span></td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_set_decode_area(opj_codec_t *p_codec,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">,</span></td><td> </td><td class="rblock"> opj_image_t* p_image,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> OPJ_INT32 p_start_x, OPJ_INT32 p_start_y,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_image_t* p_image,</td><td> </td><td class="rblock"> OPJ_INT32 p_end_x, OPJ_INT32 <span class="insert">p_end_y);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_INT32 p_start_x, OPJ_INT32 p_start_y,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_INT32 p_end_x, OPJ_INT32 <span class="delete">p_end_y );</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Decode an image from a JPEG-2000 codestream</td><td> </td><td class="right"> * Decode an image from a JPEG-2000 codestream</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0113" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_decompressor decompressor handle</td><td> </td><td class="rblock"> * @param p_decompressor decompressor handle</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream Input buffer stream</td><td> </td><td class="rblock"> * @param p_stream Input buffer stream</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_image the decoded image</td><td> </td><td class="rblock"> * @param p_image the decoded image</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return true if success, otherwise <span class="delete">f</span></td><td> </td><td class="rblock"> * @return true if success, otherwise <span class="insert">false</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">alse</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0114" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_decode( opj_codec_t</span> *p_decompressor,</td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_decode(opj_codec_t</span> *p_decompressor,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_stream_t *p_stream,</td><td> </td><td class="rblock"> opj_stream_t *p_stream,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_image_t *p_image);</td><td> </td><td class="rblock"> opj_image_t *p_image);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Get the decoded tile from the codec</td><td> </td><td class="right"> * Get the decoded tile from the codec</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0115" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param p_codec the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream input streamm</td><td> </td><td class="rblock"> * @param p_stream input streamm</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_image output image</td><td> </td><td class="rblock"> * @param p_image output image</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param tile_index index of the tile which will be <span class="delete">deco</span></td><td> </td><td class="rblock"> * @param tile_index index of the tile which will be <span class="insert">decode</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">de</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0116" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return <span class="delete"> true if success, otherwise f
+</span>alse</td><td> </td><td class="rblock"> * @return <span class="insert">true if success, otherwise f</span>alse</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0117" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_get_decoded_tile( opj_codec_t *p_codec</span></td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_get_decoded_tile(opj_codec_t *p_codec,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">,</span></td><td> </td><td class="rblock"> opj_stream_t *p_stream,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> opj_image_t *p_image,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_stream_t *p_stream,</td><td> </td><td class="rblock"> OPJ_UINT32 tile_index);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_image_t *p_image,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 tile_index);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Set the resolution factor of the decoded image</td><td> </td><td class="right"> * Set the resolution factor of the decoded image</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0118" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param p_codec the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param res_factor resolution factor to set</td><td> </td><td class="rblock"> * @param res_factor resolution factor to set</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0119" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return <span class="delete"> true if success, otherwise f
+</span>alse</td><td> </td><td class="rblock"> * @return <span class="insert">true if success, otherwise f</span>alse</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0120" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_set_decoded_resolution_factor(opj_codec_t</span></td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_set_decoded_resolution_factor(</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> *p_codec, OPJ_UINT32 res_factor);</td><td> </td><td class="rblock"><span class="insert"> opj_codec_t</span> *p_codec, OPJ_UINT32 res_factor);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Writes a tile with the given data.</td><td> </td><td class="right"> * Writes a tile with the given data.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0121" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param p_codec the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_tile_index the index of the tile to write. At <span class="delete">t</span></td><td> </td><td class="rblock"> * @param p_tile_index the index of the tile to write. At <span class="insert">the mome</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">he moment,</span> the tiles must be written from 0 to n-1 in sequence.</td><td> </td><td class="rblock"><span class="insert">nt,</span> the tiles must be written from 0 to n-1 in sequence.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_data pointer to the data to <span class="delete">write</span></td><td> </td><td class="rblock"> * @param p_data pointer to the data to <span class="insert">write.</span> Data is <span class="insert">arran</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">.</span> Data is <span class="delete">arranged</span> in sequence, data_comp0, then data_comp1, then ... NO <span class="delete">IN</span></td><td> </td><td class="rblock"><span class="insert">ged</span> in sequence, data_comp0, then data_comp1, then ... NO <span class="insert">INTERLEAVING shou</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">TERLEAVING should</span> be set.</td><td> </td><td class="rblock"><span class="insert">ld</span> be set.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_data_size this value os used to make <span class="delete">s</span></td><td> </td><td class="rblock"> * @param p_data_size this value os used to make <span class="insert">sure</span> the data <span class="insert">be</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ure</span> the data <span class="delete">being</span> written is correct. The size must be equal to the sum <span class="delete">fo</span></td><td> </td><td class="rblock"><span class="insert">ing</span> written is correct. The size must be equal to the sum <span class="insert">for</span> each <span class="insert">componen</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">r</span> each <span class="delete">component</span> of</td><td> </td><td class="rblock"><span class="insert">t</span> of</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * tile_width * tile_height * component_size.
+component_size can be 1,2 or 4 bytes, depending on the precision of the giv
+en component.</td><td> </td><td class="right"> * tile_width * tile_height * component_size.
+component_size can be 1,2 or 4 bytes, depending on the precision of the giv
+en component.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0122" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param <span class="delete"> p_stream </span> the stream to write data to.</td><td> </td><td class="rblock"> * @param <span class="insert">p_stream</span> the stream to write data to.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0123" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return <span class="delete"> </span>true if the data could be written.</td><td> </td><td class="rblock"> * @return true if the data could be written.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0124" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_write_tile ( opj_codec_t</span> *p_codec,</td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_write_tile(opj_codec_t</span> *p_codec,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> OPJ_UINT32 p_tile_index,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 p_tile_index,</td><td> </td><td class="rblock"> OPJ_BYTE * p_data,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> OPJ_UINT32 p_data_size,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_BYTE * p_data,</td><td> </td><td class="rblock"> opj_stream_t <span class="insert">*p_stream);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 p_data_size,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_stream_t <span class="delete">*p_stream );</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Reads a tile header. This function is compulsory and allows one to know
+the size of the tile that will be decoded.</td><td> </td><td class="right"> * Reads a tile header. This function is compulsory and allows one to know
+the size of the tile that will be decoded.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * The user may need to refer to the image got by opj_read_header to unders
+tand the size being taken by the tile.</td><td> </td><td class="right"> * The user may need to refer to the image got by opj_read_header to unders
+tand the size being taken by the tile.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0125" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param p_codec the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_tile_index pointer to a value that will hold the index </td><td> </td><td class="rblock"> * @param p_tile_index pointer to a value that will hold the index of </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">of the tile being decoded, in case of success.</td><td> </td><td class="rblock">the tile being decoded, in case of success.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_data_size pointer to a value that will hold <span class="delete">th</span></td><td> </td><td class="rblock"> * @param p_data_size pointer to a value that will hold <span class="insert">the</span> maximum <span class="insert">s</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">e</span> maximum <span class="delete">size</span> of the decoded data, in case of success. In case</td><td> </td><td class="rblock"><span class="insert">ize</span> of the decoded data, in case of success. In case</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * of truncated <span class="delete">codestr</span></td><td> </td><td class="rblock"> * of truncated <span class="insert">codestreams,</span> the actual number of </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">eams,</span> the actual number of bytes decoded may be lower. The computation of <span class="delete">t</span></td><td> </td><td class="rblock">bytes decoded may be lower. The computation of <span class="insert">the</span> size is the same</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">he</span> size is the same</td><td> </td><td class="rblock"> * as depicted in <span class="insert">opj_write_tile.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * as depicted in <span class="delete">opj_w</span></td><td> </td><td class="rblock"> * @param p_tile_x0 pointer to a value that will hold <span class="insert">the</span> x0 pos of</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">rite_tile.</span></td><td> </td><td class="rblock"> the tile (in the image).</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_tile_x0 pointer to a value that will hold <span class="delete">th</span></td><td> </td><td class="rblock"> * @param p_tile_y0 pointer to a value that will hold <span class="insert">the</span> y0 pos of</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">e</span> x0 pos of the tile (in the image).</td><td> </td><td class="rblock"> the tile (in the image).</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_tile_y0 pointer to a value that will hold <span class="delete">th</span></td><td> </td><td class="rblock"> * @param p_tile_x1 pointer to a value that will hold <span class="insert">the</span> x1 pos of</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">e</span> y0 pos of the tile (in the image).</td><td> </td><td class="rblock"> the tile (in the image).</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_tile_x1 pointer to a value that will hold <span class="delete">th</span></td><td> </td><td class="rblock"> * @param p_tile_y1 pointer to a value that will hold <span class="insert">the</span> y1 pos of</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">e</span> x1 pos of the tile (in the image).</td><td> </td><td class="rblock"> the tile (in the image).</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_tile_y1 pointer to a value that will hold <span class="delete">th</span></td><td> </td><td class="rblock"> * @param p_nb_comps pointer to a value that will hold <span class="insert">the</span> number of</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">e</span> y1 pos of the tile (in the image).</td><td> </td><td class="rblock"> components in the tile.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_nb_comps pointer to a value that will hold <span class="delete">th</span></td><td> </td><td class="rblock"> * @param p_should_go_on pointer to a boolean that will hold the fact <span class="insert">th</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">e</span> number of components in the tile.</td><td> </td><td class="rblock"><span class="insert">at</span> the decoding should go on. In case the</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_should_go_on pointer to a boolean that will hold the fact</td><td> </td><td class="rblock"> * codestream is over <span class="insert">at</span> the time of the call, the</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">that</span> the decoding should go on. In case the</td><td> </td><td class="rblock"> value will be set to false. The user should <span class="insert">then</span> stop</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * codestream is over <span class="delete">a</span></td><td> </td><td class="rblock"> * the decoding.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">t</span> the time of the call, the value will be set to false. The user should <span class="delete">the</span></td><td> </td><td class="rblock"> * @param p_stream the stream to decode.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">n</span> stop</td><td> </td><td class="rblock"> * @return true if the tile header could be decoded. In case <span class="insert">th</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * the decoding.</td><td> </td><td class="rblock"><span class="insert">e</span> decoding should end, the returned value is still true.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream the stream to decode.</td><td> </td><td class="rblock"> * returning false may be the result of a shortage</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return true if the tile header could be decoded.</td><td> </td><td class="rblock"> of memory or an internal error.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> In case <span class="delete">the</span> decoding should end, the returned value is still true.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * returning false may </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">be the result of a shortage of memory or an internal error.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0126" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_read_tile_header( opj_codec_t *p_codec</span></td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_read_tile_header(opj_codec_t *p_codec,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">,</span></td><td> </td><td class="rblock"> opj_stream_t * p_stream,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> OPJ_UINT32 * p_tile_index,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_stream_t * p_stream,</td><td> </td><td class="rblock"> OPJ_UINT32 * p_data_size,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> OPJ_INT32 * p_tile_x0, OPJ_INT32 * p_tile_y0,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 * p_tile_index,</td><td> </td><td class="rblock"> OPJ_INT32 * p_tile_x1, OPJ_INT32 * p_tile_y1,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> OPJ_UINT32 * p_nb_comps,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 * p_data_size,</td><td> </td><td class="rblock"> OPJ_BOOL * <span class="insert">p_should_go_on);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_INT32 * p_tile_x0, OPJ_INT32 * p_tile_y0,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_INT32 * p_tile_x1, OPJ_INT32 * p_tile_y1,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 * p_nb_comps,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_BOOL * <span class="delete">p_should_go_on );</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Reads a tile data. This function is compulsory and allows one to decode
+tile data. opj_read_tile_header should be called before.</td><td> </td><td class="right"> * Reads a tile data. This function is compulsory and allows one to decode
+tile data. opj_read_tile_header should be called before.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * The user may need to refer to the image got by opj_read_header to unders
+tand the size being taken by the tile.</td><td> </td><td class="right"> * The user may need to refer to the image got by opj_read_header to unders
+tand the size being taken by the tile.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0127" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param p_codec the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_tile_index the index of the tile being decoded, this <span class="delete">sh</span></td><td> </td><td class="rblock"> * @param p_tile_index the index of the tile being decoded, this <span class="insert">shoul</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ould</span> be the value set by opj_read_tile_header.</td><td> </td><td class="rblock"><span class="insert">d</span> be the value set by opj_read_tile_header.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_data pointer to a memory block that will </td><td> </td><td class="rblock"> * @param p_data pointer to a memory block that will hold the <span class="insert">de</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">hold the <span class="delete">decoded</span> data.</td><td> </td><td class="rblock"><span class="insert">coded</span> data.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_data_size size of p_data. p_data_size should <span class="delete">b</span></td><td> </td><td class="rblock"> * @param p_data_size size of p_data. p_data_size should <span class="insert">be</span> bigger or</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">e</span> bigger or equal to the value set by opj_read_tile_header.</td><td> </td><td class="rblock"> equal to the value set by opj_read_tile_header.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream the stream to decode.</td><td> </td><td class="rblock"> * @param p_stream the stream to decode.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0128" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return <span class="delete"> true </span> if the data could be decoded.</td><td> </td><td class="rblock"> * @return <span class="insert">true</span> if the data could be decoded.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0129" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_decode_tile_data( opj_codec_t *p_codec</span></td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_decode_tile_data(opj_codec_t *p_codec,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">,</span></td><td> </td><td class="rblock"> OPJ_UINT32 p_tile_index,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> OPJ_BYTE * p_data,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 p_tile_index,</td><td> </td><td class="rblock"> OPJ_UINT32 p_data_size,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> opj_stream_t <span class="insert">*p_stream);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_BYTE * p_data,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 p_data_size,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_stream_t <span class="delete">*p_stream );</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* COMPRESSION FUNCTIONS*/</td><td> </td><td class="right">/* COMPRESSION FUNCTIONS*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Creates a J2K/JP2 compression structure</td><td> </td><td class="right"> * Creates a J2K/JP2 compression structure</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0130" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param format Coder to select</td><td> </td><td class="rblock"> * @param format Coder to select</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return Returns a handle to a compressor if </td><td> </td><td class="rblock"> * @return Returns a handle to a compressor if successful, <span class="insert">ret</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">successful, <span class="delete">returns</span> NULL otherwise</td><td> </td><td class="rblock"><span class="insert">urns</span> NULL otherwise</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API opj_codec_t* OPJ_CALLCONV opj_create_compress(OPJ_CODEC_FORMAT form
+at);</td><td> </td><td class="right">OPJ_API opj_codec_t* OPJ_CALLCONV opj_create_compress(OPJ_CODEC_FORMAT form
+at);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">Set encoding parameters to default values, that means :</td><td> </td><td class="right">Set encoding parameters to default values, that means :</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"><ul></td><td> </td><td class="right"><ul></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"><li>Lossless</td><td> </td><td class="right"><li>Lossless</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"><li>1 tile</td><td> </td><td class="right"><li>1 tile</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"><li>Size of precinct : 2^15 x 2^15 (means 1 precinct)</td><td> </td><td class="right"><li>Size of precinct : 2^15 x 2^15 (means 1 precinct)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"><li>Size of code-block : 64 x 64</td><td> </td><td class="right"><li>Size of code-block : 64 x 64</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> line 1417</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> line 1476</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"><li>No mode switch activated</td><td> </td><td class="right"><li>No mode switch activated</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"><li>Progression order: LRCP</td><td> </td><td class="right"><li>Progression order: LRCP</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"><li>No index file</td><td> </td><td class="right"><li>No index file</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"><li>No ROI upshifted</td><td> </td><td class="right"><li>No ROI upshifted</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"><li>No offset of the origin of the image</td><td> </td><td class="right"><li>No offset of the origin of the image</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"><li>No offset of the origin of the tiles</td><td> </td><td class="right"><li>No offset of the origin of the tiles</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"><li>Reversible DWT 5-3</td><td> </td><td class="right"><li>Reversible DWT 5-3</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></ul></td><td> </td><td class="right"></ul></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">@param parameters Compression parameters</td><td> </td><td class="right">@param parameters Compression parameters</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0131" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV <span class="delete">opj_set_default_encoder_parameters(opj_cparameter</span></td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV <span class="insert">opj_set_default_encoder_parameters(</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">s_t</span> *parameters);</td><td> </td><td class="rblock"><span class="insert"> opj_cparameters_t</span> *parameters);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Setup the encoder parameters using the current image and using user para
+meters.</td><td> </td><td class="right"> * Setup the encoder parameters using the current image and using user para
+meters.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0132" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec Compressor handle</td><td> </td><td class="rblock"> * @param p_codec Compressor handle</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param parameters Compression parameters</td><td> </td><td class="rblock"> * @param parameters Compression parameters</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param image Input filled image</td><td> </td><td class="rblock"> * @param image Input filled image</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_encoder(opj_codec_t *p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_encoder(opj_codec_t *p_codec,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0133" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> opj_cparameters_t *parameters,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_cparameters_t *parameters,</td><td> </td><td class="rblock"> opj_image_t *image);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_image_t *image);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Start to compress the current image.</td><td> </td><td class="right"> * Start to compress the current image.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0134" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec Compressor handle</td><td> </td><td class="rblock"> * @param p_codec Compressor handle</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param <span class="delete">image</span> Input filled image</td><td> </td><td class="rblock"> * @param <span class="insert">p_image</span> Input filled image</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream Input stgream</td><td> </td><td class="rblock"> * @param p_stream Input stgream</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0135" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_start_compress ( opj_codec_t *p_codec</span></td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_start_compress(opj_codec_t *p_codec,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">,</span></td><td> </td><td class="rblock"> opj_image_t * p_image,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> opj_stream_t *p_stream);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_image_t * p_image,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_stream_t *p_stream);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * End to compress the current image.</td><td> </td><td class="right"> * End to compress the current image.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0136" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec Compressor handle</td><td> </td><td class="rblock"> * @param p_codec Compressor handle</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream Input stgream</td><td> </td><td class="rblock"> * @param p_stream Input stgream</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0137" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_end_compress (opj_codec_t</span> *p_codec,</td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_end_compress(opj_codec_t</span> *p_codec,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> opj_stream_t *p_stream);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> opj_stream_t *p_stream);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Encode an image into a JPEG-2000 codestream</td><td> </td><td class="right"> * Encode an image into a JPEG-2000 codestream</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0138" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec compressor handle</td><td> </td><td class="rblock"> * @param p_codec compressor handle</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream Output buffer stream</td><td> </td><td class="rblock"> * @param p_stream Output buffer stream</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0139" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return <span class="delete"> Returns true if successful, returns
+</span>false otherwise</td><td> </td><td class="rblock"> * @return <span class="insert">Returns true if successful, returns </span>false otherwise</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_encode(opj_codec_t *p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_encode(opj_codec_t *p_codec,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0140" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> </span>opj_stream_t *p_stream);</td><td> </td><td class="rblock"> opj_stream_t *p_stream);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> codec output functions definitions</td><td> </td><td class="right"> codec output functions definitions</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* EXPERIMENTAL FUNCTIONS FOR NOW, USED ONLY IN J2K_DUMP*/</td><td> </td><td class="right">/* EXPERIMENTAL FUNCTIONS FOR NOW, USED ONLY IN J2K_DUMP*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">Destroy Codestream information after compression or decompression</td><td> </td><td class="right">Destroy Codestream information after compression or decompression</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">@param cstr_info Codestream information structure</td><td> </td><td class="right">@param cstr_info Codestream information structure</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0141" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV opj_destroy_cstr_info(opj_codestream_info_v2_t <span class="delete">**</span></td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV opj_destroy_cstr_info(opj_codestream_info_v2_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">cstr_info);</span></td><td> </td><td class="rblock"> <span class="insert">**cstr_info);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Dump the codec information into the output stream</td><td> </td><td class="right"> * Dump the codec information into the output stream</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0142" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param p_codec the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param info_flag type of information dump.</td><td> </td><td class="rblock"> * @param info_flag type of information dump.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param output_stream output stream where dump the <span class="delete">informations ge</span></td><td> </td><td class="rblock"> * @param output_stream output stream where dump the <span class="insert">information gotten</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">t</span> from the codec.</td><td> </td><td class="rblock"> from the codec.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0143" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV <span class="delete">opj_dump_codec( opj_codec_t</span> *p_codec,</td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV <span class="insert">opj_dump_codec(opj_codec_t</span> *p_codec,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> OPJ_INT32 info_flag,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_INT32 info_flag,</td><td> </td><td class="rblock"> FILE* output_stream);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> FILE* output_stream);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Get the codestream information from the codec</td><td> </td><td class="right"> * Get the codestream information from the codec</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0144" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param <span class="delete"> p_codec </span> the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param <span class="insert">p_codec</span> the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0145" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return <span class="delete"> a pointer to a codestream in
+formation structure</span>.</td><td> </td><td class="rblock"> * @return <span class="insert">a pointer to a codestream information structure
+</span>.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0146" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_codestream_info_v2_t* OPJ_CALLCONV <span class="delete">opj_get_cstr_info(opj_codec_</span></td><td> </td><td class="rblock">OPJ_API opj_codestream_info_v2_t* OPJ_CALLCONV <span class="insert">opj_get_cstr_info(</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">t</span> *p_codec);</td><td> </td><td class="rblock"><span class="insert"> opj_codec_t</span> *p_codec);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Get the codestream index from the codec</td><td> </td><td class="right"> * Get the codestream index from the codec</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0147" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param <span class="delete"> p_codec </span> the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param <span class="insert">p_codec</span> the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0148" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return <span class="delete"> a pointer to a codestream in
+</span>dex structure.</td><td> </td><td class="rblock"> * @return <span class="insert">a pointer to a codestream in</span>dex structure.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0149" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_codestream_index_t * OPJ_CALLCONV <span class="delete">opj_get_cstr_index(opj_codec_</span></td><td> </td><td class="rblock">OPJ_API opj_codestream_index_t * OPJ_CALLCONV <span class="insert">opj_get_cstr_index(</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">t</span> *p_codec);</td><td> </td><td class="rblock"><span class="insert"> opj_codec_t</span> *p_codec);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0150" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV opj_destroy_cstr_index(opj_codestream_index_t <span class="delete">**p</span></td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV opj_destroy_cstr_index(opj_codestream_index_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">_cstr_index);</span></td><td> </td><td class="rblock"> <span class="insert">**p_cstr_index);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Get the JP2 file information from the codec FIXME</td><td> </td><td class="right"> * Get the JP2 file information from the codec FIXME</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0151" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param <span class="delete"> p_codec </span> the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param <span class="insert">p_codec</span> the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0152" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return <span class="delete"> a pointer to a JP2 metadata
+</span>structure.</td><td> </td><td class="rblock"> * @return <span class="insert">a pointer to a JP2 metadata </span>structure.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0153" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_jp2_metadata_t* OPJ_CALLCONV <span class="delete">opj_get_jp2_metadata(opj_codec_t *</span></td><td> </td><td class="rblock">OPJ_API opj_jp2_metadata_t* OPJ_CALLCONV <span class="insert">opj_get_jp2_metadata(</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">p_codec);</span></td><td> </td><td class="rblock"><span class="insert"> opj_codec_t *p_codec);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Get the JP2 file index from the codec FIXME</td><td> </td><td class="right"> * Get the JP2 file index from the codec FIXME</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0154" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param <span class="delete"> p_codec </span> the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param <span class="insert">p_codec</span> the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0155" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return <span class="delete"> a pointer to a JP2 index str
+</span>ucture.</td><td> </td><td class="rblock"> * @return <span class="insert">a pointer to a JP2 index str</span>ucture.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API opj_jp2_index_t* OPJ_CALLCONV opj_get_jp2_index(opj_codec_t *p_code
+c);</td><td> </td><td class="right">OPJ_API opj_jp2_index_t* OPJ_CALLCONV opj_get_jp2_index(opj_codec_t *p_code
+c);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> MCT functions</td><td> </td><td class="right"> MCT functions</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Sets the MCT matrix to use.</td><td> </td><td class="right"> * Sets the MCT matrix to use.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0156" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param parameters the parameters to change.</td><td> </td><td class="rblock"> * @param parameters the parameters to change.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param pEncodingMatrix the encoding matrix.</td><td> </td><td class="rblock"> * @param pEncodingMatrix the encoding matrix.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_dc_shift the dc shift coefficients to use.</td><td> </td><td class="rblock"> * @param p_dc_shift the dc shift coefficients to use.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param pNbComp the number of components of the <span class="delete">imag</span></td><td> </td><td class="rblock"> * @param pNbComp the number of components of the <span class="insert">image.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">e.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0157" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return <span class="delete"> </span>true if the parameters could be set.</td><td> </td><td class="rblock"> * @return true if the parameters could be set.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0158" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_set_MCT( opj_cparameters_t</span> *parameters,</td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_set_MCT(opj_cparameters_t</span> *parameters,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_FLOAT32 * <span class="delete">pEncodingMa</span></td><td> </td><td class="rblock"> OPJ_FLOAT32 * <span class="insert">pEncodingMatrix,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">trix,</span></td><td> </td><td class="rblock"> OPJ_INT32 * p_dc_shift,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_INT32 * p_dc_shift,</td><td> </td><td class="rblock"> OPJ_UINT32 pNbComp);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> OPJ_UINT32 pNbComp);</td><td> </td><td class="rblock"> </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">==========================================================</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Thread functions</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">==========================================================</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">*/</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/** Returns if the library is built with thread support.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * OPJ_TRUE if mutex, condition, thread, thread pool are available.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> */</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_has_thread_support(void);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/** Return the number of virtual CPUs */</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">OPJ_API int OPJ_CALLCONV opj_get_num_cpus(void);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#ifdef __cplusplus</td><td> </td><td class="right">#ifdef __cplusplus</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">}</td><td> </td><td class="right">}</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#endif</td><td> </td><td class="right">#endif</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#endif /* OPENJPEG_H */</td><td> </td><td class="right">#endif /* OPENJPEG_H */</td><td class="lineno" valign="top"></td></tr>
+
+ <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
+ <tr bgcolor="gray"><th colspan="5" align="center"><a name="end"> End of changes. 158 change blocks. </a></th></tr>
+ <tr class="stats"><td></td><th><i>949 lines changed or deleted</i></th><th><i> </i></th><th><i>952 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 bgcolor="orange"><th></th><th> opj_config.h (2.1.2) </th><th> </th><th> opj_config.h (2.2.0) </th><th></th></tr>
+ <tr><td class="lineno" valign="top"></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" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></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" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/*-------------------------------------------------------------------------
+-*/</td><td> </td><td class="right">/*-------------------------------------------------------------------------
+-*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* OpenJPEG Versioning
+ */</td><td> </td><td class="right">/* OpenJPEG Versioning
+ */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* Version number. */</td><td> </td><td class="right">/* Version number. */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_VERSION_MAJOR 2</td><td> </td><td class="right">#define OPJ_VERSION_MAJOR 2</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0001" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_VERSION_MINOR <span class="delete">1</span></td><td> </td><td class="rblock">#define OPJ_VERSION_MINOR <span class="insert">2</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_VERSION_BUILD <span class="delete">2</span></td><td> </td><td class="rblock">#define OPJ_VERSION_BUILD <span class="insert">0</span></td><td class="lineno" valign="top"></td></tr>
+
+ <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
+ <tr bgcolor="gray"><th colspan="5" align="center"><a name="end"> End of changes. 1 change blocks. </a></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
+/*
+* 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 */
+ float tcp_rates[100];
+ /** different psnr for successive layers */
+ 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 ot 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;
+ /** code-blocks width */
+ OPJ_UINT32 cblkw;
+ /** 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.
+ * @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.
+ *
+ * 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);
+
+/**
+ * Sets the given area to be decoded. This function should be called right after opj_read_header and before any tile header reading.
+ *
+ * @param p_codec the jpeg2000 codec.
+ * @param p_image the decoded image previously setted 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.
+ *
+ * @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 */